Un exploit de preuve de concept (PoC) est publié pour la vulnérabilité « Citrix Bleed », suivie comme CVE-2023-4966, qui permet aux attaquants de récupérer les cookies de session d’authentification des appliances Citrix NetScaler ADC et NetScaler Gateway vulnérables.
CVE-2023-4966 est une faille de divulgation d’informations exploitable à distance de gravité critique, corrigée par Citrix le 10 octobre sans fournir beaucoup de détails.
Le 17 octobre, Mandiant a révélé que la faille avait été exploitée en tant que zero-day lors d’attaques limitées depuis fin août 2023.
Ce lundi, Citrix a émis un avertissement ultérieur aux administrateurs des appliances NetScaler ADC et Gateway, les invitant à corriger la faille immédiatement, car le taux d’exploitation a commencé à s’accélérer.
Aujourd’hui, les chercheurs d’Assetnote ont partagé plus de détails sur la méthode d’exploitation de CVE-2023-4966 et a publié un exploit PoC sur GitHub pour démontrer leurs découvertes et aider ceux qui souhaitent tester l’exposition.
La faille Citrix Bleed
La faille Citrix Bleed CVE-2023-4966 est une vulnérabilité non authentifiée liée au tampon affectant Citrix NetScaler ADC et NetScaler Gateway, les périphériques réseau utilisés pour l’équilibrage de charge, la mise en œuvre du pare-feu, la gestion du trafic, le VPN et l’authentification des utilisateurs.
En analysant les versions non corrigées (13.1-48.47) et corrigées (13.1-49.15) de NetScaler, Assetnote a trouvé 50 modifications de fonctions.
Parmi ces fonctions, les chercheurs en ont trouvé deux (« ns_aaa_oauth_send_openid_config » et « ns_aaa_oauthrp_send_openid_config ») qui comportaient des vérifications de limites supplémentaires précédant la génération d’une réponse.
Ces fonctions utilisent « snprintf » pour insérer les données appropriées dans la charge utile JSON générée pour la configuration OpenID. Dans la version pré-patch, la réponse est envoyée immédiatement sans contrôle.
La vulnérabilité émerge de la valeur de retour de la fonction snprintf, qui peut conduire à une lecture excessive du tampon si elle est exploitée.
La version corrigée garantit qu’une réponse ne sera envoyée que si snprintf renvoie une valeur inférieure à 0x20000.
Récupération de jetons de session
Forts de ces connaissances, les analystes d’Assetnote ont tenté d’exploiter les points de terminaison NetScaler vulnérables.
Au cours de ce processus, ils ont constaté que la valeur du nom d’hôte utilisée pour générer la charge utile provenait de l’en-tête HTTP Host, de sorte qu’il n’était pas nécessaire d’avoir des droits d’administrateur pour y accéder.
De plus, le nom d’hôte est inséré six fois dans la charge utile. Ainsi, son exploitation permet de dépasser la limite du buffer, obligeant le point final à répondre avec le contenu du buffer et la mémoire adjacente.
« Nous avons clairement pu constater une fuite de mémoire importante immédiatement après la charge utile JSON. » explique Assetnote dans le rapport.
« Même s’il s’agissait en grande partie d’octets nuls, la réponse contenait des informations suspectes. »
En exploitant la vulnérabilité des milliers de fois à des fins de tests, les analystes ont systématiquement localisé une chaîne hexadécimale de 32 à 65 octets qui est un cookie de session.
La récupération de ce cookie permet aux attaquants de détourner des comptes et d’obtenir un accès illimité aux appareils vulnérables.
Maintenant qu’un exploit CVE-2023-4966 est accessible au public, on s’attend à ce que les acteurs malveillants ciblent davantage les appareils Citrix Netscaler pour obtenir un accès initial aux réseaux d’entreprise.
Service de surveillance des menaces Shadowserver signale des pics de tentatives d’exploitation suite à la publication du PoC d’Assetnote, l’activité malveillante a donc déjà commencé.
Étant donné que ces types de vulnérabilités sont couramment utilisés pour les attaques de ransomware et de vol de données, il est fortement conseillé aux administrateurs système de déployer immédiatement des correctifs pour résoudre la faille.