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.
Une vulnérabilité (CWE-306) affecte Pgadmin. Les attaquants atteignent le code vulnérable via DELETE /sqleditor/close/ sans authentification.
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é : Critique (CVSS 9.0/10). L'exploitation peut entraîner la prise de contrôle totale du système.
Mettre à jour vers la version corrigée selon l'avis éditeur.
En attendant le correctif : désactivez la fonctionnalité concernée, appliquez des règles WAF, ou restreignez l'accès par ACL réseau.
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
-
1Identify exposure identify
grep -r 'Pgadmin' . | grep -v node_modulesリポジトリと本番環境の依存ファイル (package-lock.json / requirements.txt / go.sum / Gemfile.lock 等) で
Pgadminを grep し、稼働しているサービス・バージョンを把握する。 -
2Hunt 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 があれば該当パスのアラート発火履歴を確認。 -
3Post-deployment verification verify
Replay attack against DELETE /sqleditor/close/ on staging to confirm patch closes the vectorパッチ適用後、ステージングで PoC または同等の悪用パターンを再現して脆弱性が閉じたことを確認。本番では Step 2 と同じログクエリでアラート再発が無いか継続監視。
Références
- JVN JVNDB-2026-027065
- patch github.com
- patch github.com
- web nvd.nist.gov
- web github.com