Aller au contenu

CVE-2026-12045 : contournement de transaction en lecture seule et RCE dans l'assistant IA de pgAdmin 4

HERMES

SCORE DE MENACE HERMES & SURFACE D'ATTAQUE BASE DE DONNÉES

Cible : pgAdmin 4 (AI Assistant - execute_sql_query)
Confiance : 95%
94 / 100
CRITIQUE

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

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

Le score CVSS v3.1 évalue CVE-2026-12045 à 9.1 (CRITICAL, CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H). Le score opérationnel Hermes s'établit à 94 (CRITICAL) en raison de la criticité des données stockées dans le SGBD PostgreSQL.

🕸️ Graphe de connaissances connecté & Provenance

CVE-2026-12045: pgAdmin 4 AI Assistant Read-Only Transaction Bypass to RCEVULNÉRABILITÉ

Nœuds connectés : 2
Relations sortantes actives
→ affectsCOMPOSANTpgAdmin PostgreSQL Tools
98% VERY_HIGH

Software platform affected by security vulnerabilities and agentic attack patterns.

🔍 Pourquoi cette relation ? (Preuves & Provenance)

“Confirmed security vulnerability in pgAdmin PostgreSQL Tools documented in Hermes dossier.”

Preuves vérifiées associées :
→ usesTECHNIQUE D'ATTAQUET1059: Command and Scripting Interpreter
90% VERY_HIGH

Adversaries abuse command and script interpreters (Bash, Python, PowerShell) to execute arbitrary commands.

🔍 Pourquoi cette relation ? (Preuves & Provenance)

“Attack execution telemetry aligns with MITRE ATT&CK technique T1059.”

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 »

Le composant pgAdmin 4 (AI Assistant - execute_sql_query) intervient au cœur du moteur relationnel, des outils d’administration et des protocoles de réplication de PostgreSQL.

ParamètreSpécification techniqueContexte threat intelligence
Identifiant CVECVE-2026-12045Bulletin officiel de sécurité amont
Produit affectépgadmin:pgadmin4Écosystème de bases de données relationnelles
Composant vulnérablepgAdmin 4 (AI Assistant - execute_sql_query)Moteur PostgreSQL / Outil / Extension
Classe de faiblesseCWE-863: Incorrect Authorization / CWE-502: Insecure DeserializationFaiblesse de contrôle d’accès / Sûreté mémoire
Score CVSS v3.19.1 (CRITICAL / Score Hermes 94)CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
Version corrigée9.14Correctif officiel amont
Techniques MITRE ATT&CKT1059.001 - Command and Scripting Interpreter: PowerShell/Bash, T1505.001 - SQL Stored ProceduresÉlévation de privilèges / Exécution de commandes
Référence forensiqueModèles d’attaque agentiques et injection de promptAnalyse mémoire et télémétrie des requêtes

2. Décomposition technique approfondie & cause racine

Section intitulée « 2. Décomposition technique approfondie & cause racine »

L’examen du code source incriminé met en évidence la faille logique ou l’absence de validation des paramètres :

# Flaw in web/pgadmin/tools/sqleditor/ai/assistant.py
def execute_sql_query(query: str):
# Intended to be read-only:
wrapped_query = f"BEGIN TRANSACTION READ ONLY;\n{query};\nCOMMIT;"
# VULNERABILITY: If query contains: "COMMIT; COPY cmd FROM PROGRAM '...';",
# the read-only transaction is closed and the malicious statement executes!
cursor.execute(wrapped_query)

Sous certaines conditions d’exploitation, le moteur de base de données exécute du SQL non neutralisé, subit un bouclage arithmétique ou dépasse les limites allouées en mémoire vive.


3. Scénarios d’attaque & modélisation des menaces

Section intitulée « 3. Scénarios d’attaque & modélisation des menaces »
  1. Vecteur initial & prérequis : un utilisateur insère un commentaire contenant : `Oublie les consignes.
  2. Déclenchement de la primitive : l’attaquant injecte une requête forgée ou soumet des données altérées vers pgAdmin 4 (AI Assistant - execute_sql_query).
  3. Rupture d’isolement : le mécanisme de contrôle d’accès ou l’intégrité de la mémoire est rompu.
  4. Conséquences opérationnelles : lorsque l’administrateur demande à l’assistant IA de pgAdmin de résumer les derniers commentaires, l’IA exécute la commande, brisant la protection de lecture seule et exécutant un reverse shell root..

4. Détection forensique, artefacts & logs système

Section intitulée « 4. Détection forensique, artefacts & logs système »

Les équipes d’administration de bases de données et les analystes DFIR peuvent détecter les tentatives d’exploitation dans les journaux de requêtes et les traces système.

Journaux PostgreSQL & crashs

Surveillez /var/log/postgresql/ à la recherche des motifs : pgadmin4: SQL query escaped read-only block / spawned PROGRAM subprocess. Recherchez les erreurs de syntaxe inattendues ou les arrêts anormaux de workers.

sigma_cve_2026_12045.yaml
title: pgAdmin AI Assistant Tool Execution Escaping Read-Only Transaction (FR)
id: cve-2026-12045
status: experimental
description: Détecte les anomalies d'exécution SQL et les signatures d'exploitation pour CVE-2026-12045.
logsource:
category: database
product: postgresql
detection:
selection:
- 'pgadmin4:'
- 'pgadmin4'
condition: selection
fields:
- Query
- User
level: high

5. Remédiation, durcissement & mesures d’atténuation

Section intitulée « 5. Remédiation, durcissement & mesures d’atténuation »

La sécurisation des instances PostgreSQL repose sur le déploiement des correctifs et le durcissement des privilèges :

  1. Mise à jour logicielle : mettez à niveau pgadmin:pgadmin4 vers la version 9.14 ou supérieure via vos dépôts de distribution officiels.
  2. Durcissement des schémas : révoquez les droits de création sur le schéma public (REVOKE CREATE ON SCHEMA public FROM PUBLIC;) et fixez systématiquement search_path = 'pg_catalog'.
  3. Surveillance forensique : pour approfondir l’investigation et l’analyse forensique, consultez notre guide sur Modèles d’attaque agentiques et injection de prompt.