Aller au contenu

CVE-2026-6638 : injection SQL via le nom de table dans refresh publication de PostgreSQL

HERMES

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

Cible : PostgreSQL Server (src/backend/commands/subscriptioncmds.c)
Confiance : 95%
68 / 100
FAIBLE

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-6638 à 3.7 (LOW, CVSS:3.1/AV:N/AC:H/PR:L/UI:R/S:U/C:L/I:L/A:N). Le score opérationnel Hermes s'établit à 68 (LOW) en raison de la criticité des données stockées dans le SGBD PostgreSQL.

🕸️ Graphe de connaissances connecté & Provenance

CVE-2026-6638: PostgreSQL REFRESH PUBLICATION Table Name SQL InjectionVULNÉRABILITÉ

Nœuds connectés : 1
Relations sortantes actives
→ affectsCOMPOSANTPostgreSQL
98% VERY_HIGH

Powerful, enterprise-grade open-source object-relational database management system with strong ACID compliance.

🔍 Pourquoi cette relation ? (Preuves & Provenance)

“Confirmed security vulnerability in PostgreSQL Database 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 »

Le composant PostgreSQL Server (src/backend/commands/subscriptioncmds.c) 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-6638Bulletin officiel de sécurité amont
Produit affectépostgresql:postgresqlÉcosystème de bases de données relationnelles
Composant vulnérablePostgreSQL Server (src/backend/commands/subscriptioncmds.c)Moteur PostgreSQL / Outil / Extension
Classe de faiblesseCWE-89: Improper Neutralization of Special Elements used in an SQL Command ('SQL Injection')Faiblesse de contrôle d’accès / Sûreté mémoire
Score CVSS v3.13.7 (LOW / Score Hermes 68)CVSS:3.1/AV:N/AC:H/PR:L/UI:R/S:U/C:L/I:L/A:N
Version corrigée18.4Correctif officiel amont
Techniques MITRE ATT&CKT1505.001 - SQL Stored Procedures, T1078 - Valid AccountsÉlévation de privilèges / Exécution de commandes
Référence forensiqueSurveillance des journaux d’audit et requêtes SQLAnalyse 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 src/backend/commands/subscriptioncmds.c (fetch_table_list)
StringInfoData cmd;
initStringInfo(&cmd);
/* VULNERABILITY: Appends relation name without quote_identifier() */
appendStringInfo(&cmd, "SELECT relname FROM pg_class WHERE relname = '%s'",
table_name); // Allows SQL injection on remote publisher!

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 disposant de droits de création de table sur une base répliquée crée une table nommée t'; INSERT INTO admin_keys VALUES ('evil'); --.
  2. Déclenchement de la primitive : l’attaquant injecte une requête forgée ou soumet des données altérées vers PostgreSQL Server (src/backend/commands/subscriptioncmds.c).
  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 : dès que l’administrateur lance REFRESH PUBLICATION, la requête injectée est transmise et exécutée sur la base de production primaire..

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 : postgres: unexpected syntax error in logical replication table sync query. Recherchez les erreurs de syntaxe inattendues ou les arrêts anormaux de workers.

sigma_cve_2026_6638.yaml
title: PostgreSQL Logical Replication Injection via Malformed Table Identifier (FR)
id: cve-2026-6638
status: experimental
description: Détecte les anomalies d'exécution SQL et les signatures d'exploitation pour CVE-2026-6638.
logsource:
category: database
product: postgresql
detection:
selection:
- 'postgres:'
- 'postgresql'
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 postgresql:postgresql vers la version 18.4 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 Surveillance des journaux d’audit et requêtes SQL.