Aller au contenu

CVE-2026-83021 : exécution de code à distance non authentifiée dans le web container d'Oracle WebLogic Server

HERMES

SCORE DE MENACE HERMES & EFFONDREMENT DU PÉRIMÈTRE WEBLOGIC

Cible : Oracle WebLogic Server — Web Container principal, Request Dispatcher & sous-système ClassLoader
Confiance : 99%
100 / 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 20 / 20
Prévalence 20 / 20
Impact 20 / 20
Maturité de l'exploit 20 / 20
Potentiel d'attaque en chaîne 20 / 20
⚖️ Divergence & Justification opérationnelle

Le score CVSS v3.1 et le Hermes Threat Score attribuent tous deux à CVE-2026-83021 la note maximale de 10.0 / EXTREME 100. Oracle WebLogic Server propulse des milliers d'applications d'entreprise hautement critiques. La vulnérabilité réside dans le cœur du pipeline de traitement des requêtes HTTP du Web Container. Un attaquant non authentifié peut exploiter des failles de normalisation d'URI et de routage de servlets pour obtenir une exécution de code immédiate sans interaction utilisateur.

HASS

SÉVÉRITÉ AGENTIQUE HASS & COMPROMISSION DU CONTENEUR JAVA

Cible : Serveur d'applications Java EE d'entreprise, conteneur de servlets & réseau de cluster
Confiance : 97%
95 / 100
CRITIQUE

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 17 / 20
Accès aux outils & APIs 20 / 20
Privilege 20 / 15
Persistence 19 / 15
External Impact 19 / 15
Propagation 19 / 15
⚖️ Divergence & Justification opérationnelle

La compromission du Web Container WebLogic permet aux attaquants de déployer des applications WAR malveillantes, d'injecter du bytecode dans les classloaders JVM et de capturer les identifiants en transit sur le cluster.

🕸️ Graphe de connaissances connecté & Provenance

CVE-2026-83021: Unauthenticated Remote Code Execution in Oracle WebLogic Server Web ContainerVULNÉRABILITÉ

Nœuds connectés : 1
Relations sortantes actives
→ affectsCOMPOSANTOracle WebLogic Server
98% VERY_HIGH

Software platform affected by security vulnerabilities and agentic attack patterns.

🔍 Pourquoi cette relation ? (Preuves & Provenance)

“Confirmed security vulnerability in Oracle WebLogic Server 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 »
ParamètreSpécification techniqueImpact opérationnel
Identifiant CVECVE-2026-83021Bulletin Oracle CSPU Septembre 2026
Classe de vulnérabilitéExécution de code à distance (CWE-287 / CWE-20 / CWE-94)Traversée de chemin et invocation de servlets privilégiées
Composant affectéWebLogic Web Container (weblogic.servlet)Pipeline de traitement des requêtes HTTP sur ports 7001 / 7002
Protocole / portHTTP / HTTPS (Ports par défaut 7001, 7002, 80, 443)Exposé sur les passerelles web et proxys d’entreprise
Authentification requiseAucune (PR:N)Requête HTTP directe sans session ni cookie
Interaction utilisateurAucune (UI:N)Exécution automatisée à la réception de la requête
Impact sur le périmètreÉtendu (S:C)S’étend à l’ensemble du cluster de domaine et aux bases de données
Privilèges obtenusContrôle total du serveur hôteExécution de code arbitraire avec le compte oracle/weblogic
Versions affectées12.2.1.4.0, 14.1.1.0.0, 14.1.2.0.0Branches de production actives de WebLogic Server
Cible de remédiationPatch Set Update (PSU) de septembre 2026Installer le PSU via OPatch et restreindre les endpoints

Le Web Container de WebLogic est chargé d’analyser les URI des requêtes HTTP, de les associer aux contextes de servlets enregistrés et d’appliquer les contraintes de sécurité (security-constraint dans web.xml).

Avant le correctif de septembre 2026 :

  1. Une divergence critique existait entre la manière dont le Web Container normalisait les chemins URL contenant des paramètres matriciels, des séquences d’encodage de traversée (..%2f) et des points-virgules doublement encodés (%253b).
  2. Les filtres de sécurité vérifiant si une ressource nécessite une authentification examinaient l’URI non normalisée, concluant à tort que la ressource demandée était publique.
  3. Le dispatcher interne de servlets nettoyait ensuite ces caractères pour router la requête vers sa cible réelle, atteignant ainsi des servlets d’administration internes sans exiger de session authentifiée.
  4. L’attaquant peut exploiter ce comportement pour déployer des web shells JSP ou appeler directement des classes internes pour exécuter des commandes système.

3. Schéma de l’attaque & mécanique de militarisation

Section intitulée « 3. Schéma de l’attaque & mécanique de militarisation »
sequenceDiagram
autonumber
actor Attaquant as Attaquant distant (Non authentifié)
participant WLS as Entrée WebLogic (Port 7001)
participant Conteneur as Web Container (Normalisation URI)
participant Dispatcher as Dispatcher interne de servlets
participant FS as Système de fichiers (tmp/_WL_user/)
Attaquant->>WLS: Envoi de requête POST avec contournement de chemin (CVE-2026-83021)
WLS->>Conteneur: Évaluation des contraintes sur l'URI non normalisée
Conteneur->>Conteneur: Contournement du filtre d'authentification (considéré comme ressource publique)
Conteneur->>Dispatcher: Routage normalisé vers la servlet de déploiement interne
Dispatcher->>FS: Dépôt du web shell JSP dans le docroot (/tmp/_WL_user/...)
FS-->>Attaquant: Retour HTTP 200 OK (Chemin du shell confirmé)
Attaquant->>FS: Requête vers le web shell (/bea_wls_internal/shell.jsp?cmd=whoami)
FS-->>Attaquant: Exécution de commandes sous le compte 'oracle'

title: Tentative RCE par contournement d'URI WebLogic
id: cve-2026-83021-wls-rce-fr
status: production
description: Détecte les modèles de traversée de chemin et paramètres matriciels ciblant les servlets WebLogic.
references:
- https://www.oracle.com/security-alerts/cspusep2026.html
author: Équipe DFIR Hermes Codex
date: 2026-09-17
modified: 2026-09-22
logsource:
category: webserver
product: oracle_weblogic
detection:
selection:
cs-method: 'POST'
cs-uri-stem|contains:
- 'bea_wls_internal'
- 'console'
cs-uri-stem|re: '(%2e%2e|%253b|\.\.;|/\.\./)'
condition: selection
falsepositives:
- Aucun faux positif attendu pour cette signature spécifique
level: critical
tags:
- attack.initial_access
- attack.t1190
- attack.persistence
- attack.t1505.003

5. Triage forensique & playbook de réponse à incident

Section intitulée « 5. Triage forensique & playbook de réponse à incident »
  1. Analyse des journaux d’accès HTTP WebLogic : Examiner les fichiers sous $DOMAIN_HOME/servers/<server_name>/logs/access.log :
    Fenêtre de terminal
    grep -E "(%2e|%3b|\.\.;|bea_wls_internal)" $DOMAIN_HOME/servers/*/logs/access.log
  2. Recherche de web shells déposés : Sonder les répertoires temporaires et d’extraction de WebLogic :
    Fenêtre de terminal
    find $DOMAIN_HOME/servers/*/tmp/_WL_user/ -name "*.jsp" -mtime -14 -ls
    find $DOMAIN_HOME/servers/*/stage/ -name "*.war" -mtime -14 -ls
  3. Analyse de la lignée de processus : Vérifier les processus enfants anormaux engendrés par le serveur Java WebLogic :
    Fenêtre de terminal
    pstree -p $(pgrep -f "weblogic.Server")

  1. Action immédiate T0 (< 24h) — appliquer le patch set update (PSU) Oracle de septembre 2026 : Installer le correctif officiel via OPatch :

    Fenêtre de terminal
    cd $ORACLE_HOME/WLS_PATCH_SEP2026
    opatch apply

    Redémarrer l’ensemble des AdminServers, ManagedServers et NodeManagers.

  2. Mitigation T0 — restreindre l’exposition du périmètre et les accès d’administration : Si le patch ne peut pas être déployé dans l’immédiat :

    • Bloquer l’accès externe aux ports 7001 et 7002 sur les pare-feu périmétriques.
    • Configurer les proxys inverses (NGINX, F5 BIG-IP, Apache) pour rejeter les points-virgules et points encodés dans l’URI :
      if ($request_uri ~* "(\;|\%3b|\%2e\%2e|\.\.)") {
      return 403;
      }
  3. Durcissement tactique T1 (< 7j) — désactiver le tunneling et les servlets internes : Désactiver le HTTP Tunneling dans la console d’administration WebLogic (Environnement > Serveurs > [Nom du serveur] > Protocoles > Général et décocher Activer le tunneling).