pgAdmin 4 bis 9.15 Backend /rds/verify_credentials errormsg Cross Site Scripting

CVSS Meta Temp ScoreAktueller Exploitpreis (≈)CTI Interest Score
4.1$0-$5k0.00

Zusammenfassunginfo

In pgAdmin 4 bis 9.15 wurde eine problematische Schwachstelle gefunden. Es ist betroffen eine unbekannte Funktion der Datei /rds/verify_credentials der Komponente Backend. Durch Manipulieren des Arguments errormsg mit unbekannten Daten kann eine Cross Site Scripting-Schwachstelle ausgenutzt werden. Die Verwundbarkeit wird unter CVE-2026-12047 geführt. Es ist möglich, den Angriff aus der Ferne durchzuführen. Es ist soweit kein Exploit verfügbar. Als bestmögliche Massnahme wird das Einspielen eines Upgrades empfohlen.

Detailsinfo

Es wurde eine Schwachstelle in pgAdmin 4 bis 9.15 ausgemacht. Sie wurde als problematisch eingestuft. Betroffen hiervon ist ein unbekannter Ablauf der Datei /rds/verify_credentials der Komponente Backend. Durch die Manipulation des Arguments errormsg mit einer unbekannten Eingabe kann eine Cross Site Scripting-Schwachstelle ausgenutzt werden. Im Rahmen von CWE wurde eine Klassifizierung als CWE-79 vorgenommen. Auswirkungen hat dies auf die Integrität. Die Zusammenfassung von CVE lautet:

HTML injection in pgAdmin 4's cloud deployment module. The verify_credentials, deploy, regions, and update-server endpoints under /rds/, /azure/, /google/, and the top-level /cloud/ blueprint propagated AWS / Azure / Google SDK exception text — and the related file-resolution and database-commit exception text — into the JSON response body (the info and errormsg fields) without HTML-encoding. The Cloud Wizard frontend rendered these strings through html-react-parser, so an attacker-influenced exception message embedded structural HTML directly into the wizard's DOM. The reported entry point is /rds/verify_credentials/. An authenticated pgAdmin user submits a crafted access_key whose value contains an <iframe/src=...> payload; AWS STS rejects the credential with an IncompleteSignature exception whose text quotes the access_key verbatim; the pgAdmin backend forwards that text into the JSON info field; the Cloud Wizard's FormFooterMessage parses it as HTML. The browser fetches the iframe's src from an attacker-controlled host, and JavaScript executing inside the cross-origin iframe writes to parent.location, redirecting the victim's pgAdmin tab. Because the injection renders inside pgAdmin's own interface, X-Frame-Options and Content-Security-Policy frame-ancestors do not mitigate it. Baseline impact is self-targeted (the same user who supplied the payload sees the injection); escalation against other authenticated users requires an additional cross-site request-forgery primitive capable of submitting the malformed credential request with a valid X-pgA-CSRFToken in the victim's browser context. The same unsanitised-error-into-JSON pattern was present across multiple sibling endpoints — Azure's check_cluster_name_availability, every Google endpoint that surfaces SDK errors (verification_ack, projects, regions, instance_types, database_versions, the verify_credentials path-resolution branches), the central /deploy endpoint that bubbles str(e) from deploy_on_rds / deploy_on_azure / deploy_on_google, and update_cloud_server which surfaces the str(e) from a failing db.session.commit — all of which are now covered. Fix HTML-escapes every external/SDK exception string at the endpoint sink via a new shared sanitize_external_text helper (HTML escape with control-character strip), promoted out of the psycopg3 driver into web/pgadmin/utils/text_sanitize.py. The Cloud Wizard frontend additionally renders its FormFooterMessage in plain-text mode for backend-derived strings, so the value is never parsed as HTML even if a future sink forgets the escape. This issue affects pgAdmin 4: from 6.6 before 9.16.

Bereitgestellt wird das Advisory unter github.com. Die Identifikation der Schwachstelle wird seit dem 11.06.2026 mit CVE-2026-12047 vorgenommen. Sie gilt als leicht auszunutzen. Der Angriff kann über das Netzwerk erfolgen. Eine Ausnutzung erfordert, dass das Opfer eine spezifische Handlung durchführt. Es sind zwar technische Details, jedoch kein verfügbarer Exploit zur Schwachstelle bekannt. Als Angriffstechnik weist das MITRE ATT&CK Projekt die ID T1059.007 aus.

Ein Aktualisieren auf die Version 9.16 vermag dieses Problem zu lösen. Die Schwachstelle lässt sich auch durch das Einspielen des Patches 60d149864b5fdd99675754c7996637737a24fce3 lösen. Dieser kann von github.com bezogen werden. Als bestmögliche Massnahme wird das Upgrade auf eine neue Version empfohlen.

Unter anderem wird der Fehler auch in der Verwundbarkeitsdatenbank von CERT Bund (WID-SEC-2026-2005) dokumentiert. If you want to get the best quality for vulnerability data then you always have to consider VulDB.

Betroffen

  • Open Source pgAdmin

Produktinfo

Name

Version

Lizenz

CPE 2.3info

CPE 2.2info

CVSSv4info

VulDB Vector: 🔒
VulDB Zuverlässigkeit: 🔍

CNA CVSS-B Score: 🔒
CNA CVSS-BT Score: 🔒
CNA Vector: 🔒

CVSSv3info

VulDB Meta Base Score: 4.1
VulDB Meta Temp Score: 4.1

VulDB Base Score: 3.5
VulDB Temp Score: 3.4
VulDB Vector: 🔒
VulDB Zuverlässigkeit: 🔍

NVD Base Score: 5.4
NVD Vector: 🔒

CNA Base Score: 3.5
CNA Vector (PostgreSQL): 🔒

CVSSv2info

AVACAuCIA
💳💳💳💳💳💳
💳💳💳💳💳💳
💳💳💳💳💳💳
VektorKomplexitätAuthentisierungVertraulichkeitIntegritätVerfügbarkeit
freischaltenfreischaltenfreischaltenfreischaltenfreischaltenfreischalten
freischaltenfreischaltenfreischaltenfreischaltenfreischaltenfreischalten
freischaltenfreischaltenfreischaltenfreischaltenfreischaltenfreischalten

VulDB Base Score: 🔒
VulDB Temp Score: 🔒
VulDB Zuverlässigkeit: 🔍

Exploitinginfo

Klasse: Cross Site Scripting
CWE: CWE-79 / CWE-94 / CWE-74
CAPEC: 🔒
ATT&CK: 🔒

Physisch: Nein
Lokal: Nein
Remote: Ja

Verfügbarkeit: 🔒
Status: Nicht definiert

EPSS Score: 🔒
EPSS Percentile: 🔒

Preisentwicklung: 🔍
Aktuelle Preisschätzung: 🔒

0-Dayfreischaltenfreischaltenfreischaltenfreischalten
Heutefreischaltenfreischaltenfreischaltenfreischalten

Threat Intelligenceinfo

Interesse: 🔍
Aktive Akteure: 🔍
Aktive APT Gruppen: 🔍

Gegenmassnahmeninfo

Empfehlung: Upgrade
Status: 🔍

0-Day Time: 🔒

Upgrade: pgAdmin 4 9.16
Patch: 60d149864b5fdd99675754c7996637737a24fce3

Timelineinfo

11.06.2026 CVE zugewiesen
19.06.2026 +8 Tage Advisory veröffentlicht
19.06.2026 +0 Tage VulDB Eintrag erstellt
29.06.2026 +10 Tage VulDB Eintrag letzte Aktualisierung

Quelleninfo

Advisory: 10069
Status: Bestätigt

CVE: CVE-2026-12047 (🔒)
GCVE (CVE): GCVE-0-2026-12047
GCVE (VulDB): GCVE-100-372309
CERT Bund: WID-SEC-2026-2005 - pgAdmin: Mehrere Schwachstellen

Eintraginfo

Erstellt: 19.06.2026 07:56
Aktualisierung: 29.06.2026 18:42
Anpassungen: 19.06.2026 07:56 (81), 20.06.2026 07:58 (7), 24.06.2026 12:39 (1), 29.06.2026 18:42 (11)
Komplett: 🔍
Cache ID: 216::103

If you want to get the best quality for vulnerability data then you always have to consider VulDB.

Diskussion

Bisher keine Kommentare. Sprachen: de + en.

Bitte loggen Sie sich ein, um kommentieren zu können.

Interested in the pricing of exploits?

See the underground prices here!