On estime que 12 000 pare-feu et commutateurs EX Juniper SRX sont vulnérables à une faille d’exécution de code à distance sans fichier que les attaquants peuvent exploiter sans authentification.
En août, Juniper a divulgué de nombreuses vulnérabilités de type « manipulation de variantes de l’environnement PHP » (CVE-2023-36844/CVE-2023-36845) et « authentification manquante pour les fonctions critiques » (CVE-2023-36846/CVE-2023-36847) qui, à elles seules, n’avait qu’un indice de gravité « moyen » de 5,3.
Cependant, une fois combinées, ces vulnérabilités sont devenues une faille critique d’exécution de code à distance avec une note de 9,8.
Dans un rapport technique ultérieur, watchTowr Labs a publié un PoC qui enchaînait les failles CVE-2023-36845 et CVE-2023-36846, permettant aux chercheurs d’exécuter du code à distance en téléchargeant deux fichiers sur un appareil vulnérable.
Aujourd’hui, Jacob Baines, chercheur en vulnérabilités chez VulnCheck, a publié un autre exploit PoC qui utilise uniquement CVE-2023-36845, évitant ainsi le besoin de télécharger des fichiers tout en permettant l’exécution de code à distance.
Dans le cadre du rapport de Baines, le chercheur a partagé un scanner gratuit sur GitHub pour aider à identifier les déploiements vulnérables, montrant des milliers d’appareils vulnérables exposés sur Internet.
« Dans ce blog, nous avons démontré comment CVE-2023-36845, une vulnérabilité signalée comme étant de gravité « moyenne » par Juniper, peut être utilisée pour exécuter du code arbitraire à distance sans authentification », explique le rapport de VulnCheck.
« Nous avons transformé un exploit en plusieurs étapes (mais très bon) en un exploit qui peut être écrit à l’aide d’une seule commande curl et qui semble affecter davantage de systèmes (plus anciens). »
L’impact du problème de sécurité identifié est étendu et beaucoup plus grave que ne le suggère sa note CVSS « moyenne », et les administrateurs doivent prendre des mesures immédiates pour remédier à la situation.
Le nouvel exploit
Baines dit qu’il a acheté un ancien pare-feu Juniper SRX210 pour tester l’exploit, mais a découvert que son appareil ne disposait pas de la fonctionnalité do_fileUpload() requise pour télécharger des fichiers sur l’appareil.
Cela a effectivement brisé la chaîne d’exploitation de watchTowr, amenant le chercheur à voir s’il existait un autre moyen d’exécuter du code à distance.
Baines a découvert qu’il était possible d’éviter de télécharger deux fichiers sur les serveurs cibles en manipulant les variables d’environnement.
Le serveur Web Appweb du pare-feu Juniper traite les requêtes HTTP des utilisateurs via stdin lors de l’exécution d’un script CGI.
En exploitant cela, les attaquants peuvent tromper le système en lui faisant reconnaître un pseudo « fichier » /dev/fd/0, et en ajustant la variable d’environnement PHPRC et la requête HTTP, ils peuvent afficher des données sensibles.
Ensuite, VulnCheck a exploité les fonctionnalités « auto_prepend_file » et « allow_url_include » de PHP pour exécuter du code PHP arbitraire via le protocole data:// sans télécharger de fichiers.
Cela dit, l’indice de gravité de CVE-2023-36845, qui est de 5,4, devrait désormais être réévalué à un score critique beaucoup plus élevé en raison de sa capacité à réaliser l’exécution de code à distance sans aucun autre défaut.
Impact et risque
La vulnérabilité CVE-2023-36845 affecte les versions suivantes de Junos OS sur les séries EX et SRX :
- Toutes les versions avant 20.4R3-S8
- 21.1 version 21.1R1 et versions ultérieures
- Versions 21.2 antérieures à 21.2R3-S6
- Versions 21.3 antérieures à 21.3R3-S5
- Versions 21.4 avant 21.4R3-S5
- Versions 22.1 antérieures à 22.1R3-S3
- Versions 22.2 avant 22.2R3-S2
- Versions 22.3 avant 22.3R2-S2, 22.3R3
- Versions 22.4 avant 22.4R2-S1, 22.4R3
Le fournisseur a publié des mises à jour de sécurité qui corrigent la vulnérabilité le 17 août 2023. Cependant, le faible indice de gravité reçu par la faille n’a pas alarmé les utilisateurs concernés, dont beaucoup auraient pu choisir de reporter son application.
Les analyses réseau de VulnCheck ont montré 14 951 Juniper avec des interfaces Web exposées à Internet. Sur un échantillon de 3 000 appareils, Baines a constaté que 79 % étaient vulnérables à cette faille RCE.
Si ce pourcentage est appliqué à tous les appareils exposés, nous pourrions avoir 11 800 appareils vulnérables sur Internet.
Enfin, le rapport mentionne que Shadowserver et GreyNoise ont vu des attaquants sonder les points de terminaison de Junos OS, de sorte que les pirates explorent déjà la possibilité d’exploiter CVE-2023-36845 dans leurs attaques.
Par conséquent, les administrateurs Juniper doivent appliquer ces mises à jour dès que possible, car elles pourraient être utilisées pour obtenir un premier accès aux réseaux d’entreprise.