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.
pgAdmin 4 (AI Assistant - execute_sql_query) 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.
Software platform affected by security vulnerabilities and agentic attack patterns.
“Confirmed security vulnerability in pgAdmin PostgreSQL Tools documented in Hermes dossier.”
Adversaries abuse command and script interpreters (Bash, Python, PowerShell) to execute arbitrary commands.
“Attack execution telemetry aligns with MITRE ATT&CK technique T1059.”
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ètre | Spécification technique | Contexte threat intelligence |
|---|---|---|
| Identifiant CVE | CVE-2026-12045 | Bulletin officiel de sécurité amont |
| Produit affecté | pgadmin:pgadmin4 | Écosystème de bases de données relationnelles |
| Composant vulnérable | pgAdmin 4 (AI Assistant - execute_sql_query) | Moteur PostgreSQL / Outil / Extension |
| Classe de faiblesse | CWE-863: Incorrect Authorization / CWE-502: Insecure Deserialization | Faiblesse de contrôle d’accès / Sûreté mémoire |
| Score CVSS v3.1 | 9.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ée | 9.14 | Correctif officiel amont |
| Techniques MITRE ATT&CK | T1059.001 - Command and Scripting Interpreter: PowerShell/Bash, T1505.001 - SQL Stored Procedures | Élévation de privilèges / Exécution de commandes |
| Référence forensique | Modèles d’attaque agentiques et injection de prompt | Analyse mémoire et télémétrie des requêtes |
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.pydef 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.
pgAdmin 4 (AI Assistant - execute_sql_query).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.
Auditd & traçage des commandes
Tracez les processus enfants créés sous l’utilisateur postgres ou l’exécution de programmes via COPY. Consultez Modèles d’attaque agentiques et injection de prompt.
title: pgAdmin AI Assistant Tool Execution Escaping Read-Only Transaction (FR)id: cve-2026-12045status: experimentaldescription: Détecte les anomalies d'exécution SQL et les signatures d'exploitation pour CVE-2026-12045.logsource: category: database product: postgresqldetection: selection: - 'pgadmin4:' - 'pgadmin4' condition: selectionfields: - Query - Userlevel: high# Surveillance par tracepoint eBPF des processus spawned par PostgreSQLsudo bpftrace -e 'tracepoint:syscalls:sys_enter_execve /comm == "postgres"/ { printf("PID %d a lancé: %s\n", pid, str(args->filename));}'La sécurisation des instances PostgreSQL repose sur le déploiement des correctifs et le durcissement des privilèges :
pgadmin:pgadmin4 vers la version 9.14 ou supérieure via vos dépôts de distribution officiels.public (REVOKE CREATE ON SCHEMA public FROM PUBLIC;) et fixez systématiquement search_path = 'pg_catalog'.