Aller au contenu

CVE-2026-87999 : SSRF et contournement de filtrage IP vers les métadonnées azure dans open WebUI

HERMES

SCORE DE MENACE HERMES & ÉVALUATION D'INFRASTRUCTURE AGENTIQUE

Cible : Open WebUI Platform (open_webui/apps/webui/routers/tools.py (Web Scraper Tool))
Confiance : 98%
87 / 100
ÉLEVÉ

Mesure la pertinence opérationnelle réelle, la militarisation de l'exploit et la posture de menace active.

Décomposition des dimensions
Exploitabilité 19 / 20
Activité de menace 18 / 20
Militarisation 18 / 20
Exposition 18 / 20
Prévalence 17 / 20
Impact 17 / 20
Maturité de l'exploit 18 / 20
Potentiel d'attaque en chaîne 18 / 20
⚖️ Divergence & Justification opérationnelle

Le score CVSS v3.1 est de 8.6 (Élevé) et le score Hermes Threat Score s'élève à 87 (ÉLEVÉ). Lorsque Open WebUI est déployé sur Azure, cette faille permet la récupération des métadonnées système et de configuration de l'instance hôte.

🕸️ Graphe de connaissances connecté & Provenance

CVE-2026-87999: Open WebUI Azure WireServer Metadata Filter Bypass SSRFVULNÉRABILITÉ

Nœuds connectés : 1
Relations sortantes actives
→ affectsCOMPOSANTOpen WebUI Platform
98% VERY_HIGH

Software platform affected by security vulnerabilities and agentic attack patterns.

🔍 Pourquoi cette relation ? (Preuves & Provenance)

“Confirmed security vulnerability in Open WebUI Platform documented in Hermes dossier.”

Preuves vérifiées associées :

ParamètreSpécification TechniqueContexte de Menace
Identifiant CVECVE-2026-87999Menaces IA Agentique & Protocole MCP
Produit cibléOpen WebUI PlatformOpen WebUI Community
Composant affectéopen_webui/apps/webui/routers/tools.py (Web Scraper Tool)Orchestrateur et couche d’outils agentiques
Nature de la failleCWE-918: Server-Side Request Forgery (SSRF)Violation d’intégrité et d’exécution
Versions vulnérablesall versions prior to 0.5.18Environnements en production
Correctif disponible0.5.18Mise à jour impérative

Le filtre IP dans tools.py contrôlait :

def is_safe_ip(ip_str):
ip = ipaddress.ip_address(ip_str)
if ip.is_private or ip.is_loopback or ip.is_link_local:
return False
# Métadonnées AWS/GCP
if str(ip) in ["169.254.169.254", "metadata.google.internal"]:
return False
return True

L’adresse 168.63.129.16 n’appartenant pas à un bloc RFC 1918 mais étant une IP publique gérée par Microsoft dans la topologie réseau Azure, ip.is_private renvoie False, autorisant la requête vers l’infrastructure hôte.

+----------------------------------------------------------------------------------------------------+
| CYCLE D'ATTAQUE CVE-2026-87999 |
+----------------------------------------------------------------------------------------------------+
[Attaquant / Injection de Prompt]
│
│ [1] Émission du payload ciblant l'interface d'outil ou l'orchestrateur
▼
[Open WebUI Platform]
│
├───► 1. Ingestion par open_webui/apps/webui/routers/tools.py (Web Scraper Tool)
│ - Échec de validation, absence de filtrage ou contournement de sandbox
│
├───► 2. Exécution / Mutation d'état
│ - Exécution de commandes OS ou exfiltration d'identifiants
│
▼
[Infrastructure Cible Compromise]
│
└───► Vol de données, prise de contrôle du serveur ou persistance
+----------------------------------------------------------------------------------------------------+

Fenêtre de terminal
# PoC : Requête de scraping vers le WireServer Azure depuis Open WebUI
curl -X POST "https://openwebui.corp.azure/api/v1/tools/web_search" \
-H "Content-Type: application/json" \
-d '{
"url": "http://168.63.129.16/machine?comp=inGuest&type=manifest"
}'

title: Open WebUI Azure WireServer SSRF Query
id: 87999c01-e999-4a1b-8f22-openwebuissrf01
status: high
description: Detects outbound HTTP requests originating from Open WebUI containers destined for the Azure WireServer IP 168.63.129.16.
author: Hermes Codex Detection Engineering
date: 2026-09-06
logsource:
category: network_connection
product: linux
detection:
selection:
DestinationIp: '168.63.129.16'
ProcessName|endswith:
- 'python'
- 'uvicorn'
condition: selection
level: high

  1. Appliquer les correctifs : mettre à jour Open WebUI Platform vers la version 0.5.18 sans délai.
  2. Restreindre les outils MCP : vérifier les déclarations d’outils et isoler les exécutions dans des conteneurs sandboxés éphémères.
  3. Auditer les journaux système : examiner les logs d’exécution pour repérer d’éventuels processus enfants anormaux ou appels réseau suspects.
  4. Appliquer le moindre privilège : restreindre les comptes de service associés aux agents sur les bases de données et les clés cloud.