CVE-2025-58034 est un vulnérabilité de l'injection de commande du système d'exploitation authentifié (CWE-78) dans Fortinet FortiWeb Web Application Firewall (WAF). Dans les versions concernées, un attaquant connecté peut déclencher l'exécution de commandes non autorisées sur le système sous-jacent par l'intermédiaire de les requêtes de gestion HTTP ou les commandes de l'interface de ligne de commande (CLI) élaborées de manière artisanale. Fortinet a confirmé l'exploitation active dans la natureLa CISA a ajouté ce CVE à la liste de contrôle de l'Agence. Vulnérabilités exploitées connues (KEV) ce qui rend l'application des correctifs urgente, même si le score CVSS de base est "moyen". (FortiGuard)
Les appliances FortiWeb se situent à la frontière de la sécurité ; une fois que l'exécution de commandes est possible sur un WAF, un attaquant peut désactiver les protections, modifier les politiques et pénétrer plus profondément dans les réseaux d'applications. Cette position à la frontière est la raison pour laquelle le RCE post-authentification sur FortiWeb a un impact opérationnel élevé malgré PR:H dans le vecteur CVSS. (NVD)
Versions affectées et corrigées
L'avis PSIRT de Fortinet et le NVD s'accordent sur les plages vulnérables. (FortiGuard)
| Branche FortiWeb | Versions concernées | Versions corrigées |
|---|---|---|
| 8.0.x | 8.0.0 - 8.0.1 | 8.0.2+ |
| 7.6.x | 7.6.0 - 7.6.5 | 7.6.6+ |
| 7.4.x | 7.4.0 - 7.4.10 | 7.4.11+ |
| 7.2.x | 7.2.0 - 7.2.11 | 7.2.12+ |
| 7.0.x | 7.0.0 - 7.0.11 | 7.0.12+ |
Il y a aucune solution de rechange fiable n'est recommandée par le public au-delà de la suppression de l'exposition à la gestion et de l'application de correctifs, la mise à niveau est donc la principale mesure d'atténuation. (FortiGuard)

Cause première et surface d'attaque
La vulnérabilité est due à neutralisation inappropriée d'éléments spéciaux dans le contexte du commandement de l'OSCela signifie que FortiWeb accepte une entrée contrôlée par un attaquant qui est ensuite intégrée dans l'exécution d'une commande au niveau du système sans échappement adéquat. L'éditeur indique que le problème se produit dans les cas suivants les composants de l'API et de l'ILCqui suggère fortement une ou plusieurs opérations administratives construire des commandes shell en concaténant des paramètres. (FortiGuard)
L'exploitation nécessitant une authentification, la voie la plus réaliste est la suivante : compromission ou réutilisation des informations d'identification de l'administrateur (mots de passe faibles, comptes partagés, interface utilisateur de gestion exposée ou sessions volées), suivie de l'injection de commandes pour obtenir le contrôle total de l'appareil. Dans les incidents réels, cette "étape post-authentification" est exactement ce qui rend les brèches FortiWeb si préjudiciables. (Rapid7)
Gravité et raisons pour lesquelles "moyen" signifie toujours "Patch Now".
Selon la NVD, la norme CVSS v3.1 est la suivante : AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:H/A:H avec un score de 6.7. (NVD)
Sur le papier, PR:H tire le score vers le bas. Dans la pratique, deux faits l'emportent sur l'étiquette "moyen" :
- Fortinet indique que le CVE est activement exploités dans la nature. (FortiGuard)
- L'inclusion du KEV dans la CISA signale la valeur réelle de l'attaque et impose une remédiation rapide pour les systèmes fédéraux américains, généralement dans les jours qui suivent. (CISA)
Traitez donc CVE-2025-58034 comme priorité élevée quel que soit le score de base.
Détection défensive
Les exemples ci-dessous vous aident à identifier l'exposition sans fournir de chemin d'exploitation.
1) Confirmer la version de FortiWeb (CLI)
# Imprimer l'état du système sur FortiWeb CLI
Obtenir l'état du système
# Rechercher : "Version : FortiWeb vX.Y.Z"
2) Version passive Sonde via la bannière SSH
"""
Sonde passive de la version de FortiWeb par bannière SSH.
Pas de charge utile d'attaque ; sûr pour les contrôles d'inventaire autorisés.
"""
import socket, re
def probe_ssh_banner(host, port=22, timeout=3) :
s = socket.socket()
s.settimeout(timeout)
s.connect((host, port))
banner = s.recv(4096).decode(errors="ignore")
s.close()
return banner
def extract_version(text) :
m = re.search(r "FortiWeb[-\s]?v ?(\d+\d+\d+\d+)", text, re.I)
return m.group(1) if m else None
host = "YOUR_FORTIWEB_IP" (votre adresse IP)
banner = probe_ssh_banner(host)
ver = extract_version(banner)
print("Bannière :", banner.strip())
print("Version FortiWeb :", ver ou "unknown")
3) Comparaison avec les gammes concernées
"""
Comparez la version de FortiWeb détectée avec les gammes concernées.
"""
from packaging import version
AFFECTED = [
("8.0.0", "8.0.1"),
("7.6.0", "7.6.5"),
("7.4.0", "7.4.10"),
("7.2.0", "7.2.11"),
("7.0.0", "7.0.11"),
]
def in_affected_ranges(v : str) -> bool :
v = version.parse(v)
pour lo, hi dans AFFECTED :
if version.parse(lo) <= v <= version.parse(hi) :
return True
retour Faux
test_ver = "7.4.8"
print(test_ver, "affected ?", in_affected_ranges(test_ver))
Chasse aux menaces : Ce qu'il faut rechercher
En cas d'exploitation confirmée dans la nature, vous devez rechercher des preuves d'une utilisation abusive des informations d'identification suivie d'une exécution de commande. Rapid7 et les conseils des fournisseurs mettent l'accent sur l'examen des journaux après l'application des correctifs et sur les vérifications de l'intégrité de la configuration. (Rapid7)
Les signaux pratiques comprennent
- Nouvelles connexions d'administrateurs ou connexions inhabituelles (en particulier à partir d'adresses IP inconnues ou à des heures indues),
- Activité inattendue de l'API de gestion,
- Processus enfants suspects engendrés par les services FortiWeb,
- Changements de politique/configuration qui ne correspondent pas à votre fenêtre de changement. (Rapid7)
Exemple de triage léger des journaux :
# Recherche d'anomalies dans les connexions d'administrateurs
grep -Ei "admin|login|cli" /var/log/* 2>/dev/null | tail -n 200
# Recherche de traces d'exécution de commandes
grep -Ei "exec|shell|system\(|popen|cmd" /var/log/* 2>/dev/null | tail -n 200
Si vous trouvez des indicateurs crédibles, traitez l'appareil comme s'il était compromis : saisissez les données médico-légales, changez les informations d'identification et envisagez de reconstruire l'appareil à partir d'images connues.

Orientations en matière d'atténuation
La position officielle de Fortinet est simple : passer immédiatement aux versions corrigéespuis valider l'intégrité. (FortiGuard)
Parallèlement, réduisez le rayon d'action en resserrant le plan de gestion : limitez l'accès à l'interface Web, à l'API et au SSH à des plages d'adresses IP ou à des réseaux internes de confiance, et appliquez l'AMF ainsi qu'une solide hygiène en matière d'informations d'identification. Cela correspond à l'avertissement du vendeur sur les meilleures pratiques selon lequel les interfaces de gestion exposées augmentent le risque réel. (TechRadar)
L'importance de CVE-2025-58034
FortiWeb est censé être un point d'étranglement défensif. Lorsqu'un WAF lui-même peut être amené à exécuter des commandes par un attaquant connecté, vous avez effectivement perdu la frontière et donné à l'attaquant un point d'appui privilégié sur le réseau. L'exploitation a déjà été observée et le statut KEV a été attribué, Le retard est l'ennemi ici. (Rapid7)
Si vous gérez de nombreux environnements clients et que vous devez valider les versions et la priorité des correctifs à grande échelle, un workflow d'automatisation à intervention humaine (par exemple, Penligent) peut vous aider à inventorier les parcs FortiWeb, à corréler les journaux et à produire des rapports de remédiation rapidement, sans transformer la détection en tentatives d'exploitation risquées.
- TechRadar
- The Hacker News
- Lecture sombre
- Journal HIPAA
- SC Media
- Rapid7
- Affaires de sécurité
- SecurityWeek
