Aller au contenu

CVE-2026-83020 : exécution de code à distance non authentifiée dans Oracle platform security for java (OPSS)

HERMES

SCORE DE MENACE HERMES & RISQUE SYSTÉMIQUE SUR LA PLATEFORME DE SÉCURITÉ

Cible : Oracle Platform Security for Java (OPSS) — Centralized Thirdparty Jars et coffre de clés CSF
Confiance : 99%
99 / 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 19 / 20
Militarisation 20 / 20
Exposition 20 / 20
Prévalence 19 / 20
Impact 20 / 20
Maturité de l'exploit 20 / 20
Potentiel d'attaque en chaîne 20 / 20
⚖️ Divergence & Justification opérationnelle

Avec une note CVSS de 10.0 (Critique) et un changement de périmètre (S:C), Hermes attribue à la CVE-2026-83020 un score de 99 (EXTRÊME). OPSS fournit le socle universel de sécurité d'Oracle Fusion Middleware, gérant l'authentification JAAS et le Credential Store Framework (CSF) où sont stockés les mots de passe de bases de données et les clés de chiffrement. L'exploitation d'une dépendance tierce vulnérable permet à un attaquant distant non authentifié de compromettre l'intégralité du domaine WebLogic.

HASS

SÉVÉRITÉ AGENTIQUE HASS & SUBVERSION DU COFFRE-FORT D'ENTREPRISE

Cible : Java Authentication and Authorization Service (JAAS), magasin de politiques OPSS et coffre CSF
Confiance : 96%
93 / 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 19 / 20
Privilege 20 / 15
Persistence 19 / 15
External Impact 18 / 15
Propagation 19 / 15
⚖️ Divergence & Justification opérationnelle

Compromettre OPSS anéantit les frontières cryptographiques de l'infrastructure Fusion Middleware. L'attaquant peut extraire tous les identifiants stockés dans le coffre Credential Store Framework (cwallet.sso), altérer les politiques de contrôle d'accès et obtenir une exécution de code permanente sur tous les serveurs managés du domaine.

🕸️ Graphe de connaissances connecté & Provenance

CVE-2026-83020: Unauthenticated Remote Code Execution in Oracle Platform Security for Java (OPSS)VULNÉRABILITÉ

Nœuds connectés : 1
Relations sortantes actives
→ affectsCOMPOSANTMicrosoft Office & 365 Apps
98% VERY_HIGH

Software platform affected by security vulnerabilities and agentic attack patterns.

🔍 Pourquoi cette relation ? (Preuves & Provenance)

“Confirmed security vulnerability in Microsoft Office & 365 Apps documented in Hermes dossier.”

Preuves vérifiées associées :

1. Contexte technique et matrice des versions affectées

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

OPSS agit comme la couche de sécurité fondamentale pour toutes les applications Java EE s’exécutant sur Oracle Fusion Middleware.

ParamètreSpécification techniquePortée opérationnelle
Identifiant CVECVE-2026-83020Avis Oracle CSPU Septembre 2026
Classe de vulnérabilitéDésérialisation non sécurisée (CWE-502)RCE via une dépendance tierce dans le classpath OPSS
Composant affectéOPSS Centralized Thirdparty Jars (oracle.security.jps)Bibliothèques Java de traitement XML/JSON et d’objets sérialisés
Protocole / portHTTP / HTTPS (Ports par défaut 7001, 7002, 8001)Accessible sur tous les serveurs managés WebLogic
Authentification requiseAucune (PR:N)Requête HTTP directe sans session ni jeton
Interaction utilisateurAucune (UI:N)Exploitation entièrement automatisée
Changement de périmètreOui (S:C)Affecte tous les domaines WebLogic, SOA Suite et bases connectées
Privilèges obtenusPrise de contrôle totale du serveur et du coffre CSFShell OS et extraction des mots de passe de bases de données
Versions affectées12.2.1.4.0 et 14.1.2.0.0Versions supportées d’Oracle Fusion Middleware
Correctif requisPSU de septembre 2026 pour OPSS / FMWApplication via OPatch et redémarrage du domaine

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

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

Désérialisation de dépendances tierces dans le classpath OPSS

Section intitulée « Désérialisation de dépendances tierces dans le classpath OPSS »

Le framework OPSS regroupe un ensemble de bibliothèques tierces sous :

Fenêtre de terminal
$ORACLE_HOME/oracle_common/modules/oracle.jps/
$ORACLE_HOME/oracle_common/modules/thirdparty/

Ces bibliothèques gèrent la validation des signatures XML, les jetons SAML et la sérialisation des objets inter-services.

Avant le correctif de septembre 2026 :

  1. Une bibliothèque tierce obsolète intégrée dans le classpath contenait une chaîne d’exploitation (gadget chain) vulnérable à la désérialisation d’objets non sécurisée.
  2. Lorsque des requêtes HTTP ciblaient des interfaces utilisant les jetons de sécurité OPSS (telles que les routes WS-Security, les récepteurs SAML ACS ou les API REST OPSS), l’application transmettait des flux de données bruts directement à un appel ObjectInputStream.readObject() non filtré.
  3. Les attaquants peuvent forger une charge Java sérialisée s’appuyant sur les classes présentes dans le classpath pour déclencher l’exécution de commandes système arbitraires sous le compte de la JVM WebLogic.
POST /saml2/sp/acs/post HTTP/1.1
Host: wls.corp.internal:7001
Content-Type: application/x-www-form-urlencoded
SAMLResponse=rO0ABXNyACpvcmFjaGUuc2VjdXJpdHkuanBz...[CHARGE_SERIALISEE_MALVEILLANTE]

Une fois le code exécuté dans la JVM WebLogic :

  • L’attaquant interroge le Credential Store Framework (CSF) via l’API interne d’OPSS.
  • Il extrait et déchiffre l’ensemble des identifiants stockés dans le coffre $DOMAIN_HOME/config/fmwconfig/bootstrap/cwallet.sso.

3. Flux d’attaque et cinématique de compromission

Section intitulée « 3. Flux d’attaque et cinématique de compromission »
sequenceDiagram
autonumber
actor Attacker as Attaquant distant (Non authentifié)
participant WLS as WebLogic Server (Port 7001)
participant OPSS as Sous-système OPSS (Jars tiers)
participant Keystore as Coffre CSF (cwallet.sso)
participant DB as Bases de données d'entreprise
Attacker->>WLS: Requête HTTP avec objet Java sérialisé malveillant (CVE-2026-83020)
WLS->>OPSS: Transmission de la requête pour analyse du jeton
OPSS->>OPSS: Appel readObject() vulnérable dans la bibliothèque tierce
Note over OPSS: La chaîne de gadgets déclenche l'exécution de code dans la JVM
OPSS-->>Attacker: Reverse shell interactif établi sur le serveur hôte
Attacker->>Keystore: Lecture et déchiffrement du coffre de clés cwallet.sso
Keystore-->>Attacker: Extraction des mots de passe SYS/SYSTEM et clés privées TLS
Attacker->>DB: Connexion administrative directe aux bases de données

alert http any any -> any [7001,7002,8001] (
msg:"HERMES THREAT - Tentative de désérialisation non sécurisée Oracle OPSS (CVE-2026-83020)";
flow:to_server,established;
content:"rO0AB"; http_client_body;
pcre:"/(SAMLResponse|token|wls-auth)=.*rO0AB[A-Za-z0-9+/=]{50,}/i";
threshold:type limit, track by_src, count 1, seconds 60;
reference:cve,2026-83020;
reference:url,www.oracle.com/security-alerts/cspusep2026.html;
classtype:attempted-admin;
sid:202683020; rev:1;
)

Lors de la réponse à incident sur un serveur WebLogic/OPSS :

  1. Vidage mémoire de la JVM (heap dump) : Générer un vidage de la mémoire avant de redémarrer le service :
    Fenêtre de terminal
    jcmd $(pgrep -f "weblogic.Server") GC.heap_dump /tmp/wls_heap.hprof
    Rechercher les instances d’ObjectInputStream et les chaînes de gadgets exécutées.
  2. Audit d’intégrité du coffre de clés cwallet.sso : Vérifier si le fichier a été consulté ou copié par un processus suspect :
    Fenêtre de terminal
    ausearch -f $DOMAIN_HOME/config/fmwconfig/bootstrap/cwallet.sso -i
  3. Rotation d’urgence des identifiants de bases de données : Le coffre cwallet.sso contenant les mots de passe de connexion à toutes les bases Oracle d’entreprise, initier sans délai le changement de mot de passe de tous les schémas de bases de données connectés.

  1. Application du correctif Oracle de septembre 2026 : Installer le PSU OPSS / Fusion Middleware via OPatch :

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

    Redémarrer tous les serveurs du domaine.

  2. Activation du filtre de sérialisation java (JEP 290) : Configurer le filtrage de sérialisation dans setDomainEnv.sh :

    Fenêtre de terminal
    JAVA_OPTIONS="${JAVA_OPTIONS} -Djdk.serialFilter=!*; java.lang.*;java.util.*;oracle.security.jps.**"
  3. Isolement réseau des ports d’administration : Interdire l’exposition directe des ports 7001 et 7002 aux réseaux non fiables.


7. Renseignement sur les menaces et chemins d’attaque

Section intitulée « 7. Renseignement sur les menaces et chemins d’attaque »