Catégories
CVE-2026-12046 critical CVSS 9.0

Vulnérabilité dans Pgadmin (CVE-2026-12046)

Résumé

Vulnérabilité dans Pgadmin (CVE-2026-12046). L'exploitation peut entraîner la prise de contrôle totale du système. Exploitable via DELETE /sqleditor/close/.

Description d'origine

La description telle que publiée par la source (souvent en anglais).

Two state-mutating endpoints in pgAdmin 4's SQL Editor blueprint -- DELETE /sqleditor/close/ and POST /sqleditor/initialize/sqleditor/update_connection/// -- were the only routes in the module missing the @pga_login_required decorator. Both reach a pickle.loads sink on session['gridData'][]['command_obj']: the close endpoint via close_sqleditor_session(), and update_sqleditor_connection via check_transaction_status(). In server mode these endpoints were reachable without any authenticated pgAdmin session.

The defect is a missing-authentication-on-critical-function (CWE-306) wrapper around a deserialization-of-untrusted-data sink (CWE-502). Exploiting it for remote code execution requires the attacker to also forge a server-side session file whose gridData entry contains a malicious pickle payload, which in turn requires both (a) knowledge of pgAdmin's Flask SECRET_KEY (no chain to leak it is described here -- the attacker must already possess it) and (b) write access to pgAdmin's sessions/ directory on the host. Neither precondition is granted by this defect on its own. When those preconditions are met from another channel (misconfigured deployment, prior compromise, leaked configuration), the missing auth gate is the final hop that turns an existing partial compromise into unauthenticated code execution in the pgAdmin process -- and, by extension, on the host under whatever account runs pgAdmin.

Fix is a one-line @pga_login_required decorator on each of the two endpoints,…

Source: GitHub Security Advisories (Global) NVD GitHub Advisory

Résumé généré automatiquement

Assemblé par SecPulse à partir des données sources (CVSS, CWE, versions affectées) à l'aide de modèles, sans IA. Vérifiez la description d'origine et les références ci-dessous.

Une vulnérabilité référencée CVE-2026-12046 a été découverte dans Pgadmin.
Des attaquants peuvent cibler un point d'entrée spécifique comme DELETE /sqleditor/close/ à distance pour détourner le produit.
L'exploitation peut entraîner la prise de contrôle totale du système. Score CVSS : 9.0/10.
Action : appliquez le correctif officiel de l'éditeur.
En cas de doute, contactez votre service informatique ou cherchez « Pgadmin CVE-2026-12046 » sur le site de l'éditeur.

CVE-2026-12046 (Pgadmin) — CWE-306 / CVSS v3 9.0
Vecteur d'attaque : distant (réseau) / non authentifié / sans interaction utilisateur
Surface d'attaque : DELETE /sqleditor/close/ / POST /sqleditor/initialize/sqleditor/update_connection/ / GET /login
Plan : 1) Audit SBOM, 2) Mise à jour staging→prod, 3) Surveillance WAF/proxy sur les endpoints affectés, 4) Recherche d'IOC dans les logs.
Réfs : voir GHSA / avis éditeur / version corrigée liés sur cette page.

❓ Quel est le problème

Une vulnérabilité (CWE-306) affecte Pgadmin. Les attaquants atteignent le code vulnérable via DELETE /sqleditor/close/ sans authentification.

📍 Périmètre concerné

Consultez l'avis de l'éditeur pour les versions affectées de Pgadmin. Surface d'attaque : DELETE /sqleditor/close/ / POST /sqleditor/initialize/sqleditor/update_connection/ / GET /login.

🔥 Gravité

Gravité : Critique (CVSS 9.0/10). L'exploitation peut entraîner la prise de contrôle totale du système.

🔧 Comment corriger

Mettre à jour vers la version corrigée selon l'avis éditeur.

🛡️ Contournement

En attendant le correctif : désactivez la fonctionnalité concernée, appliquez des règles WAF, ou restreignez l'accès par ACL réseau.

🔍 Détection

Recherchez dans les logs webserver/proxy/WAF des requêtes anormales vers DELETE /sqleditor/close/ (en-têtes d'auth malformés, méta-caractères SQL). Auditez les fichiers de dépendances pour trouver Pgadmin.

Actions de réponse

Étapes concrètes et exemples de commandes que les équipes SOC/SRE doivent exécuter dans l'ordre

  1. 1
    Identify exposure identify
    grep -r 'Pgadmin' . | grep -v node_modules

    リポジトリと本番環境の依存ファイル (package-lock.json / requirements.txt / go.sum / Gemfile.lock 等) で Pgadmin を grep し、稼働しているサービス・バージョンを把握する。

  2. 2
    Hunt for indicators of compromise detect
    grep 'DELETE /sqleditor/close/' /var/log/nginx/access.log | grep -E '(unusual_payload|sqli_pattern)'

    アクセスログで DELETE /sqleditor/close/ への異常なリクエスト (不正な認証ヘッダ・SQLメタ文字)を過去 30〜90日分捜索。WAF/SIEM があれば該当パスのアラート発火履歴を確認。

  3. 3
    Post-deployment verification verify
    Replay attack against DELETE /sqleditor/close/ on staging to confirm patch closes the vector

    パッチ適用後、ステージングで PoC または同等の悪用パターンを再現して脆弱性が閉じたことを確認。本番では Step 2 と同じログクエリでアラート再発が無いか継続監視。

Références

Nous utilisons des cookies pour l'analyse d'audience et la mesure publicitaire. Ce réglage s'applique à tous les sites de Game co., Ltd. En savoir plus