Dimanche 11 juin 2023, Charles Fol, de la société Lexfo, a publié un message sur Twitter précisant qu’un correctif contre la vulnérabilité CVE-2023-27997 a été publié par Fortinet, et que cette vulnérabilité permettrait d’exécuter du code à distance et serait utilisable sans authentification préalable.
Cette vulnérabilité a été confirmée le lundi 12 juin 2023 par Fortinet, dans le bulletin FG-IR-23-097 de son PSIRT.
Cet article se propose de centraliser les informations disponibles sur Internet, et d’indiquer comment détecter et corriger cette nouvelle vulnérabilité sur Fortinet.
Calendrier de la publication de la vulnérabilité Fortinet CVE-2023-27997
Le 8 juin 2023, Fortinet a publié les mises à jour 6.0.17, 6.2.15, 6.4.13, 7.0.12, et 7.2.5 pour son logiciel FortiOS, utilisé par l’essentiel de ses produits de type VPN et pare-feu.
La présence d’une mise à jour pour FortiOS version 6.0 a rapidement suscité la curiosité de la communauté informatique, puisque la branche 6.0 n’est plus supportée depuis le 29 septembre 2022.
Sur Reddit, la communauté a donc émis l’hypothèse qu’une vulnérabilité critique avait été identifiée et serait documentée peu après la sortie des correctifs.
Cette hypothèse a reçu un écho de plus en plus important, avec la publication d’un bulletin par OlympeCyberdéfense et d’un tweet par Charles Fol, de la société Lexfo :
Dans son message, Charles Fol précise ainsi qu’une vulnérabilité référencée dans la base CVE par CVE-2023-27997 serait viendrait d’être corrigée par Fortinet, et que cette vulnérabilité permettrait d’exécuter du code à distance sur une instance VPN-SSL de Fortigate, sans avoir besoin de s’authentifier au préalable.
De même, l’excellent blog BleepingComputer a indiqué dans un article du 11 juin que 250 000 Fortigate sont accessibles depuis Internet d’après le moteur de recherche Shodan, et recommande d’appliquer les correctifs de Fortinet dès que possible.
Le 12 juin 2023, le PSIRT (Product Security Incident Response Team) de Fortinet a publié un avis qui confirme cette vulnérabilité, sous la référence FG-IR-23-097.
L’ANSSI a également publié le 13 juin 2023 un avis, sous la référence CERTFR-2023-ALE-004.
Comment fonctionne la CVE-2023-27997 ?
La vulnérabilité CVE-2023-27997 repose sur l’utilisation du paramètre « enc », sur les routes « /remote/hostcheck_validate » et « /remote/logincheck ».
Ce paramètre enc est composé de 3 parties : une graine (au sens cyrptographique), une taille, et des données. La graine est utilisée pour réaliser des calculs dans un flux de données qui subit des chiffrements de type XOR.
La vulnérabilité consiste à envoyer des données spécialement calculées pour que les résultats des opérations XOR soient ceux attendus par l’attaquant, afin d’altérer les données en mémoire sur l’équipement Fortinet.
La société Lexfo décrit une attaque de cette vulnérabilité de manière complète, avec vidéo, sur son excellent article technique.
Quel est l’impact de la CVE-2023-27997 ?
La CVE-2023-27997 permet à un attaquant d’exécuter du code à distance, et des commandes, sur un équipement utilisant FortiOS.
Le score CVSS officiel pour la CVE-2023-27997, qui sera publié par le NVD, n’est pas encore connu pour le moment.
Fortinet donne un score de 9.2/10, et le NVD un score de 9.8/10, ce qui place, dans les deux cas, la CVE dans les vulnérabilités de sévérité critique.
Quelles sont les versions affectées par la vulnérabilité CVE-2023-27997 ?
Les versions de FortiOS vulnérables sont :
- Les versions 6.0.X jusqu’à 6.0.17 exclue ;
- Les versions 6.2.X jusqu’à 6.2.15 exclue ;
- Les versions 6.4.X jusqu’à 6.4.13 exclue ;
- Les versions 7.0.X jusqu’à 7.0.12 exclue ;
- Les versions 7.2.X jusqu’à 7.2.5 exclue.
Les versions suivantes de FortiProxy sont également vulnérables :
- Versions 7.2.X jusqu’à 7.2.4 exclue ;
- Versions 7.0.0 jusqu’à 7.0.10 exclue ;
- Versions 2.0.0 jusqu’à 2.0.13 exclue ;
- Toutes les versions de la branche 1.2 ;
- Toutes les versions de la branche 1.1.
Comment corriger la CVE-2023-27997 ?
Déployez les versions 6.0.17 / 6.2.15 / 6.4.13 / 7.0.12 / 7.2.5 de FortiOS sur vos équipements Fortinet. Pour FortiProxy, installez dès que possible les versions 7.2.4 / 7.0.10 ou 2.0.13. Pour cela, récupérez les correctifs depuis le site officiel de Fortinet, ou rapprochez-vous des personnes en charge de la maintenance de vos équipements Fortinet afin de leur demander de réaliser cette opération.
Comment détecter la vulnérabilité Fortinet CVE-2023-27997 ?
Le plus simple est d’identifier la version utilisée par votre équipement Fortinet, plus précisément d’identifier la version de FortiOS utilisée.
Cette information est affichée sur votre instance Fortinet, en vous connectant sur son interface d’administration, et en consultant la partie en bas à gauche :
Si la version affichée respecte les critères des versions vulnérables listées plus haut, la vulnérabilité est présente sur votre équipement et Cyberwatch vous recommande de déployer le correctif de sécurité adapté dès que possible.
Les utilisateurs de Cyberwatch Vulnerability Manager peuvent également consulter la liste de leurs équipements vulnérables directement dans l’interface, sur la fiche de la vulnérabilité.
Comment savoir si mon équipement Fortinet a été compromis ?
L’utilisation de cette vulnérabilité nécessite de faire des requêtes fréquentes sur /remote/hostcheck_validate ou /remote/logincheck. Surveiller ces deux requêtes permet ainsi d’identifier des tentatives d’attaques.
Suivi des modifications
12/06/2023 10h00 GMT+2 : version initiale
12/06/2023 22h53 GMT+2 : ajout du bulletin officiel de Fortinet
14/06/2023 10h24 GMT+2 : ajout du score CVSS du NVD, de l’article de Lexfo, et des indicateurs de compromission