pgadmin-org pgAdmin vor 9.17 SQL Template Rendering __init__.py render_template erweiterte Rechte
| CVSS Meta Temp Score | Aktueller Exploitpreis (≈) | CTI Interest Score |
|---|---|---|
| 5.3 | $0-$5k | 4.47- |
Zusammenfassung
Es wurde eine kritische Schwachstelle in pgadmin-org pgAdmin gefunden. Betroffen davon ist die Funktion render_template der Datei coll_stats.sql/dependencies.sql/get_position.sql/publications/__init__.py/subscriptions/__init__.py der Komponente SQL Template Rendering. Durch das Manipulieren mit unbekannten Daten kann eine erweiterte Rechte-Schwachstelle ausgenutzt werden.
Die Verwundbarkeit wird als CVE-2026-17346 geführt. Umgesetzt werden kann der Angriff über das Netzwerk. Es ist kein Exploit verfügbar.
Details
In pgadmin-org pgAdmin wurde eine Schwachstelle ausgemacht. Sie wurde als kritisch eingestuft. Es geht um die Funktion render_template der Datei coll_stats.sql/dependencies.sql/get_position.sql/publications/__init__.py/subscriptions/__init__.py der Komponente SQL Template Rendering. Mit der Manipulation mit einer unbekannten Eingabe kann eine erweiterte Rechte-Schwachstelle ausgenutzt werden. CWE definiert das Problem als CWE-74. Dies wirkt sich aus auf Vertraulichkeit, Integrität und Verfügbarkeit. CVE fasst zusammen:
The fix for CVE-2026-12044 in pgAdmin 4 9.16 hardened qtLiteral and switched sixteen COMMENT ON / pgstattuple / pgstatindex templates to it, but missed several sinks that had been placed in test_sql_string_literal_lint.py's ALLOWLIST on the incorrect assumption that schema, table, publication, and subscription names sourced from pg_catalog via the browser tree could never contain an apostrophe. PostgreSQL permits arbitrary characters in quoted identifiers, so a low-privileged user able to CREATE TABLE, CREATE PUBLICATION, or CREATE SUBSCRIPTION can plant an apostrophe'd object name that breaks out of the unescaped '{{ name }}' template interpolation the moment any user (including a higher-privileged one) opens that object's Statistics or Dependencies tab, allowing arbitrary SQL statement injection in the viewing user's database session.
Affected sinks: the Index Statistics query for all-indexes listing (coll_stats.sql, both the 16_plus and default PostgreSQL-version template variants -- distinct from the single-index stats.sql path already fixed in CVE-2026-12044), and the publication and subscription dependencies.sql / get_position.sql templates (both the pg and ppas/EPAS dialect variants for publications).
Fix switches all of these templates to qtLiteral(conn) for name interpolation, and updates publications/__init__.py and subscriptions/__init__.py to pass conn=self.conn into the dependencies.sql render_template call so the qtLiteral filter has a connection to quote against. The corresponding ALLOWLIST entries in test_sql_string_literal_lint.py are removed now that these sinks are properly escaped rather than merely assumed safe. A behavioral regression test renders each fixed template with a stacked-statement apostrophe payload and asserts both that the object name appears exactly as qtLiteral-escaped and that the rendered SQL parses as exactly one statement, verifying the assertion genuinely fails against the pre-patch raw-interpolation form.
This issue affects pgAdmin 4: the Index Statistics sink from 1.0, and the Publications/Subscriptions sinks from 5.0, both before 9.17.Auf github.com kann das Advisory eingesehen werden. Eine eindeutige Identifikation der Schwachstelle wird seit dem 25.07.2026 mit CVE-2026-17346 vorgenommen. Die Ausnutzbarkeit ist als leicht bekannt. Die Umsetzung des Angriffs kann dabei über das Netzwerk erfolgen. Es wird vorausgesetzt, dass das Opfer eine spezifische Handlung vornimmt. Technische Details sind bekannt, ein verfügbarer Exploit hingegen nicht. MITRE ATT&CK führt die Angriffstechnik T1055 für diese Schwachstelle.
Ein Upgrade auf die Version 9.17 vermag dieses Problem zu beheben.
If you want to get best quality of vulnerability data, you may have to visit VulDB.
Produkt
Hersteller
Name
CPE 2.3
CPE 2.2
CVSSv4
VulDB Vector: 🔒VulDB Zuverlässigkeit: 🔍
CVSSv3
VulDB Meta Base Score: 5.5VulDB Meta Temp Score: 5.3
VulDB Base Score: 5.5
VulDB Temp Score: 5.3
VulDB Vector: 🔒
VulDB Zuverlässigkeit: 🔍
CVSSv2
| AV | AC | Au | C | I | A |
|---|---|---|---|---|---|
| 💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
| 💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
| 💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
| Vektor | Komplexität | Authentisierung | Vertraulichkeit | Integrität | Verfügbarkeit |
|---|---|---|---|---|---|
| freischalten | freischalten | freischalten | freischalten | freischalten | freischalten |
| freischalten | freischalten | freischalten | freischalten | freischalten | freischalten |
| freischalten | freischalten | freischalten | freischalten | freischalten | freischalten |
VulDB Base Score: 🔒
VulDB Temp Score: 🔒
VulDB Zuverlässigkeit: 🔍
Exploiting
Klasse: Erweiterte RechteCWE: CWE-74 / CWE-707 / CWE-20
CAPEC: 🔒
ATT&CK: 🔒
Physisch: Nein
Lokal: Nein
Remote: Ja
Verfügbarkeit: 🔒
Status: Nicht definiert
Preisentwicklung: 🔍
Aktuelle Preisschätzung: 🔒
| 0-Day | freischalten | freischalten | freischalten | freischalten |
|---|---|---|---|---|
| Heute | freischalten | freischalten | freischalten | freischalten |
Threat Intelligence
Interesse: 🔍Aktive Akteure: 🔍
Aktive APT Gruppen: 🔍
Gegenmassnahmen
Empfehlung: UpgradeStatus: 🔍
0-Day Time: 🔒
Upgrade: pgAdmin 9.17
Timeline
25.07.2026 CVE zugewiesen31.07.2026 Advisory veröffentlicht
31.07.2026 VulDB Eintrag erstellt
31.07.2026 VulDB Eintrag letzte Aktualisierung
Quellen
Advisory: github.comStatus: Bestätigt
CVE: CVE-2026-17346 (🔒)
GCVE (CVE): GCVE-0-2026-17346
GCVE (VulDB): GCVE-100-385090
Eintrag
Erstellt: 31.07.2026 18:25Anpassungen: 31.07.2026 18:25 (56)
Komplett: 🔍
Cache ID: 216::103
If you want to get best quality of vulnerability data, you may have to visit VulDB.
Bisher keine Kommentare. Sprachen: de + en.
Bitte loggen Sie sich ein, um kommentieren zu können.