Fortinet - CVE-2024-55591
Date de publication :
Date de mise à jour :
Un contournement de l’authentification dans Fortinet FortiOS et FortiProxy permet à un attaquant non authentifié, en envoyant des requêtes spécifiquement forgées au module websocket Node.js, d’obtenir des privilèges super-admin et d’exécuter du code arbitraire.
Informations
La faille est activement exploitée : Oui
Un correctif existe : Oui
Une mesure de contournement existe : Non
Exécution de code arbitraire
Exploitation
La vulnérabilité exploitée est du type
CWE-288: Authentication Bypass Using an Alternate Path or Channel
Détails sur l'exploitation
• Vecteur d'attaque : Réseau
• Complexité de l'attaque : Faible
• Privilèges nécessaires pour réaliser l'attaque : Aucun
• Interaction d'un utilisateur ayant accès au produit est-elle nécessaire : Non
• L'exploitation de la faille permet d'obtenir des droits privilégiés : Non
Preuve de concept
Une preuve de concept est disponible en sources ouvertes.
Systèmes ou composants affectés
FortiOS versions 7.0.x antérieures à 7.0.17
FortiProxy versions 7.2.x antérieures à 7.2.13
FortiProxy versions 7.0.x antérieures à 7.0.20
Contournement provisoire
• Désactiver l’interface d’administration HTTP/HTTPS ou limiter l’accès à l’interface en configurant une liste blanche dans une politique locale :
config firewall address
edit "my_allowed_addresses"
set subnet
end
• Créer un groupe d’adresses (Address Group) :
config firewall addrgrp
edit "MGMT_IPs"
set member "my_allowed_addresses"
end
• Créer une politique locale pour restreindre l’accès seulement au groupe prédéfini sur l’interface de management (ici port1).
o Politique locale 1 :
config firewall local-in-policy
edit 1
set intf port1
set srcaddr "MGMT_IPs"
set dstaddr "all"
set action accept
set service HTTPS HTTP
set schedule "always"
set status enable
next
o Politique locale 2 :
edit 2
set intf "all"
set srcaddr "all"
set dstaddr "all"
set action deny
set service HTTPS HTTP
set schedule "always"
set status enable
end
• Pour l’utilisation de ports différents de ceux par défaut, créer un objet de service approprié pour l’accès à l’interface graphique :
config firewall service custom
edit GUI_HTTPS
set tcp-portrange 443
next
edit GUI_HTTP
set tcp-portrange 80
end
Utiliser ces objets au lieu de "HTTPS HTTP" dans les politiques locales 1 et 2 ci-dessus. Veuillez noter que la fonctionnalité trusthost obtient les mêmes résultats que les politiques locales ci-dessus uniquement si tous les utilisateurs de l’interface graphique sont configurés avec elle. Par conséquent, les stratégies locales ci-dessus constituent une meilleure solution de contournement.
Solutions ou recommandations
Mettre à jour FortiOS vers la version 7.0.17 ou ultérieure.
Mettre à jour FortiProxy vers la version 7.0.20, 7.2.13 ou ultérieure.
Des informations complémentaires sont disponibles dans le bulletin de Fortinet.