Aller au contenu

CVE-2026-93952 : contournement d'authentification et exécution de code à distance dans arista VeloCloud orchestrator

HERMES

SCORE DE MENACE HERMES & COMPROMISSION DU PÉRIMÈTRE

Cible : Plan de contrôle d'orchestration SD-WAN & Routage périphérique d'entreprise
Confiance : 98%
98 / 100
EXTRÊME

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

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

Le standard CVSS v3.1 attribue à la CVE-2026-93952 un score maximal de 10.0 Critique avec franchissement de périmètre (CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H). Le Hermes Threat Score évalue cette menace à 98 (EXTRÊME) pour refléter son exploitation active observée dans la nature et inscrite au catalogue CISA KEV le 22 septembre 2026. L'orchestrateur VeloCloud constituant le cerveau central de gestion des réseaux SD-WAN, sa compromission confère aux attaquants le contrôle total des équipements Edge déployés dans les succursales.

HASS

SÉVÉRITÉ AGENTIQUE HASS & IMPACT SUR L'ISOLATION DES AGENTS

Cible : Plan de contrôle d'orchestration SD-WAN & Routage périphérique d'entreprise
Confiance : 95%
65 / 100
MODÉRÉ

Mesure le risque systémique spécifique découlant de l'autonomie, de l'autorité des outils et de l'exécution en cascade.

Décomposition des dimensions
Autonomie décisionnelle 15 / 20
Accès aux outils & APIs 16 / 20
Privilege 14 / 15
Persistence 13 / 15
External Impact 13 / 15
Propagation 13 / 15
⚖️ Divergence & Justification opérationnelle

Bien qu'il s'agisse d'une vulnérabilité d'infrastructure réseau, VCO régit la topologie de transit et la collecte de télémétrie des clusters d'inférence IA distribués et des interconnexions privées MCP. La prise de contrôle de l'orchestrateur autorise l'interception furtive, la redirection DNS et l'altération de flux d'outils agentiques traversant les périmètres de l'entreprise.

🕸️ Graphe de connaissances connecté & Provenance

CVE-2026-93952: Arista VeloCloud Orchestrator Authentication Bypass and Remote Code ExecutionVULNÉRABILITÉ

Nœuds connectés : 1
Relations sortantes actives
→ affectsCOMPOSANTArista VeloCloud Orchestrator
98% VERY_HIGH

Software platform affected by security vulnerabilities and agentic attack patterns.

🔍 Pourquoi cette relation ? (Preuves & Provenance)

“Confirmed security vulnerability in Arista VeloCloud Orchestrator documented in Hermes dossier.”

Preuves vérifiées associées :

1. Contexte technique & matrice des versions affectées

Section intitulée « 1. Contexte technique & matrice des versions affectées »

VCO est déployé sur site sous forme d’appliance en cluster ou d’image de machine virtuelle (sur base Linux Debian/Ubuntu) associant un mandataire inverse NGINX, une passerelle d’API Node.js/Java et une base de données relationnelle MySQL. Il termine les tunnels de gestion et les requêtes REST en provenance des nœuds Edge.

ParamètreSpécification techniqueImpact opérationnel
Identifiant CVECVE-2026-93952Avis Arista 0183 / Entrée catalogue CISA KEV
Classe de vulnérabilitéValidation d’entrée inappropriée (CWE-20) / Contournement d’auth (CWE-287)Usurpation d’en-têtes HTTP clients contournant la confiance du reverse proxy
Composant vulnérableRépartiteur API web VCO (/portal/rest/edge/)Filtre d’entrée analysant les en-têtes mTLS des certificats Edge
Vecteur d’exploitationRequête HTTP POST directe avec en-têtes de routage interne forgésExécution sans authentification des points de terminaison shell diagnostiques
Privilèges requisAucun (PR:N)L’attaquant émet des requêtes vers le port TCP 443 des instances VCO exposées
Privilèges obtenusRoot / Opérateur sur l’hôte VCO (uid=0)Exécution de commandes OS sans restriction et contrôle du réseau SD-WAN
Versions affectéesVeloCloud Orchestrator 5.2.x < 5.2.3.16, 6.1.x < 6.1.3.8, 6.4.x < 6.4.2.8, 7.0.x < 7.0.0.3Déploiements sur site uniquement (le SaaS cloud ayant été corrigé en amont)
Versions corrigéesVCO 5.2.3.16, 6.1.3.8, 6.4.2.8, 7.0.0.3Suppression systématique des en-têtes internes par le proxy et vérification mTLS

2. Anatomie de la vulnérabilité & analyse de cause racine

Section intitulée « 2. Anatomie de la vulnérabilité & analyse de cause racine »

Injection d’en-têtes de routage interne non nettoyés

Section intitulée « Injection d’en-têtes de routage interne non nettoyés »

La vulnérabilité trouve son origine dans le module de répartition des requêtes API du VCO sur site. Lorsque les équipements Edge se connectent à l’arborescence /portal/rest/edge/, la passerelle extrait les métadonnées de certificat TLS mutuel (mTLS) à partir d’en-têtes HTTP transmis en interne (X-Client-Cert-SHA1, X-Gateway-Identity, X-VCO-Internal-Route).

Faute d’épuration ou de réécriture de ces en-têtes lorsque les requêtes proviennent des interfaces publiques externes, un attaquant externe peut forger des métadonnées internes de confiance :

// Logique vulnérable de répartition dans la passerelle API VCO
function authenticateEdgeRequest(req: Request, res: Response, next: NextFunction) {
const edgeFingerprint = req.headers['x-edge-fingerprint'] || extractCertFingerprint(req);
const internalBypassToken = req.headers['x-vco-internal-route'];
// VULNÉRABILITÉ : L'usurpation d'en-têtes permet à une requête non authentifiée d'usurper le rôle Edge
if (internalBypassToken === 'vco-cluster-trust' || isValidFingerprint(edgeFingerprint)) {
req.userRole = 'EDGE_ADMINISTRATOR';
return next();
}
return res.status(401).json({ error: 'Authentication required' });
}

Une fois le rôle EDGE_ADMINISTRATOR octroyé, l’attaquant sollicite les points de terminaison diagnostiques internes (tels que /portal/rest/edge/diag/executeShell), qui exécutent directement des commandes bash via child_process.exec() sans échappement ni vérification d’intégrité.


3. Vecteurs d’attaque & déroulement forensique de l’exécution

Section intitulée « 3. Vecteurs d’attaque & déroulement forensique de l’exécution »
sequenceDiagram
autonumber
actor Attaquant as Attaquant distant
participant Proxy as Mandataire d'entrée VCO / NGINX
participant Passerelle as Passerelle API VCO
participant Diag as Contrôleur diagnostique (executeShell)
participant Hote as Hôte Linux de l'appliance (Root)
participant Edges as Routeurs SD-WAN Edge gérés
Attaquant->>Proxy: POST /portal/rest/edge/diag/executeShell (TCP 443)
Note over Proxy: En-têtes contenant X-VCO-Internal-Route: vco-cluster-trust
Proxy->>Passerelle: Transmission de la requête sans filtrage des en-têtes
Note over Passerelle: Validation du jeton interne -> Attribution rôle EDGE_ADMINISTRATOR
Passerelle->>Diag: Acheminement de la charge vers le moteur diagnostique
Diag->>Hote: Exécution de commandes OS arbitraires via child_process.exec()
Hote-->>Attaquant: Shell interactif root / Exécution de charge hostile
Hote->>Edges: Déploiement de configurations malveillantes / micrologiciels altérés
  1. Reconnaissance de périmètre & sondage d’entrée : l’attaquant repère une instance Arista VeloCloud Orchestrator sur site exposée sur le port TCP 443 au moyen de balayages ciblés.
  2. Injection d’en-têtes de routage forgés : l’attaquant envoie une requête HTTP POST vers /portal/rest/edge/diag/executeShell, enrichie d’en-têtes mandataires falsifiés (X-VCO-Internal-Route: vco-cluster-trust et X-Edge-Fingerprint: trusted-internal-orchestrator).
  3. Contournement du filtre d’authentification : la passerelle API VCO interprète les en-têtes falsifiés comme une communication légitime issue du cluster interne et attribue le niveau de privilège EDGE_ADMINISTRATOR.
  4. Exécution de commandes arbitraires sur l’hôte : le contrôleur diagnostique traite la charge JSON et exécute la commande bash sous les privilèges de l’opérateur système ou de root sur l’hôte Linux.
  5. Propagation latérale vers le parc de routeurs Edge : en exploitant le contrôle de la base de données et du plan d’administration central, l’attaquant diffuse des micrologiciels altérés ou des politiques de routage frauduleuses à tous les routeurs distants connectés.

4. Investigation forensique & réponse à incident

Section intitulée « 4. Investigation forensique & réponse à incident »

Les équipes de sécurité et d’intervention sur incident (DFIR) chargées d’investiguer une suspicion de compromission sur VCO doivent appliquer les vérifications suivantes :

Fenêtre de terminal
# 1. Rechercher des traces d'usurpation d'en-têtes dans les journaux d'accès NGINX
grep -E "X-VCO-Internal-Route|vco-cluster-trust" /var/log/nginx/access.log
# 2. Inspecter les journaux de l'orchestrateur pour repérer l'usage d'executeShell
grep -E "executeShell|portal/rest/edge/diag" /var/log/velocloud/orchestrator.log
# 3. Vérifier les processus enfants anormaux exécutés sous velocloud ou root
ps auxf | grep -E "velocloud.*bash|node.*executeShell|sh -c"
# 4. Identifier d'éventuelles connexions réseau sortantes suspectes depuis le VCO
ss -tulpen | grep -E "ESTAB.*(4444|9001|8080|1337)"
# 5. Examiner l'intégrité des archives de micrologiciels Edge enregistrées
find /var/lib/velocloud/firmware/ -type f -mtime -7 -ls

Déployez ces règles de détection sur vos sondes réseau et systèmes de collecte de journaux :

title: Arista VeloCloud Orchestrator Header Spoofing and Diagnostic Shell Invocation
id: 93952a01-vco-4912-arista-authbypass01
status: critical
description: Détecte l'appel non autorisé des points d'API diagnostiques VCO au moyen d'en-têtes de cluster falsifiés.
author: Hermes Codex Detection Engineering
date: 2026-09-22
logsource:
category: webserver
product: velocloud_orchestrator
detection:
selection_headers:
cs-method: 'POST'
cs-uri-stem|startswith:
- '/portal/rest/edge/diag/'
- '/portal/rest/edge/debug/'
c-header|contains:
- 'X-VCO-Internal-Route'
- 'vco-cluster-trust'
selection_source:
c-ip|startswith:
- '10.'
- '192.168.'
- '172.16.'
condition: selection_headers and not selection_source
falsepositives:
- Équipements Edge légitimes avec session mTLS validée sur les ports réservés.
level: critical
tags:
- attack.initial_access
- attack.t1190
- cve.2026-93952

6. Plan de remédiation & feuille de route de durcissement

Section intitulée « 6. Plan de remédiation & feuille de route de durcissement »

Appliquer sans délai les correctifs de sécurité fournis dans l’avis de sécurité Arista 0183 :

  • Mettre à niveau les versions 5.2.x vers 5.2.3.16 ou ultérieure.
  • Mettre à niveau les versions 6.1.x vers 6.1.3.8 ou ultérieure.
  • Mettre à niveau les versions 6.4.x vers 6.4.2.8 ou ultérieure.
  • Mettre à niveau les versions 7.0.x vers 7.0.0.3 ou ultérieure.
  1. Filtrage réseau du périmètre : restreindre strictement l’accès à l’interface d’administration VCO (TCP 443) aux seuls sous-réseaux et serveurs de rebond d’administration de confiance.
  2. Nettoyage des en-têtes HTTP sur mandataire : si un WAF ou un répartiteur de charge précède le VCO, configurer des règles supprimant obligatoirement tous les en-têtes clients débutant par X-VCO-* ou X-Edge-*.
  3. Renouvellement des clés et secrets : en cas d’indices de compromission ou de requêtes suspectes vers /portal/rest/edge/diag/, renouveler immédiatement les jetons API du cluster et les clés d’enregistrement des passerelles Edge.