KritischCVE-2026-17566

    Pgadmin.org pgAdmin 4: Betriebssystem-Befehlsinjektion (CVE-2026-17566)

    Veröffentlicht Zuletzt geändert Quellen: CVE.org, BSI

    Teilen

    Was ist betroffen, was ist zu tun

    Das Import/Export-Daten-Tool von pgAdmin 4 erstellt eine psql \copy (...) Befehlszeile, indem es eine vom Benutzer bereitgestellte SQL-Abfrage in eine Jinja-Vorlage interpoliert und die gerenderte Zeile an psql über --command weitergibt. Um zu verhindern, dass ein Angreifer aus der (...) Hülle ausbricht, validierte create_import_export_job() (Route POST /import_export/job/<sid>, nur durch das üblicherweise gewährte Werkzeugrecht tools_import_export_data eingeschränkt) die Abfrage mit einem handgeschriebenen Klammerausgleichs-Checker, _is_query_parens_balanced().

    Ein Exploit ist öffentlich verfügbar. Aktualisieren Sie Pgadmin.org pgAdmin 4 auf Version 9.18.

    Betroffen
    • Pgadmin.org pgAdmin 4 lt *..9.18
    Behoben in
    • Pgadmin.org pgAdmin 4 9.18

    Unklar, ob und wie Sie betroffen sind? Frage zu dieser Schwachstelle stellen

    Metriken

    9,9

    Priorität

    XIEM Effective CVSS: höchste verfügbare CVSS-Bewertung aus NVD- und Herstellerangaben.

    Quelle: NVD, CVSS v3

    9,9

    CVSS v3

    Schweregrad Kritisch auf der Skala von 0 bis 10.

    Quelle: CVE.org, BSI

    0,7 %

    EPSS-Score

    Niedrig – Modell schätzt < 1 % Ausnutzungs-Wahrscheinlichkeit.

    Quelle: FIRST EPSS, Perzentil 52,1

    Alle Metriken anzeigen
    Schweregrad
    Kritisch
    Priorität (0–325)

    Der Priorisierungs-Score ist eine zusammengeführte Kennzahl, die mehrere Einzelsignale zu einer einzigen, handlungsleitenden Rangfolge verdichtet: technische Schwere (CVSS), Ausnutzungswahrscheinlichkeit (EPSS), der Status als bekannt ausgenutzt (KEV) und der Kontext des betroffenen Assets. Ziel ist die Antwort auf die einzig wirklich wichtige Frage im Schwachstellenmanagement: Was zuerst?

    Im Glossar lesen
    92.85 Methodik
    Exploit-Reife

    Ein Exploit ist Code oder eine Technik, die eine konkrete Schwachstelle gezielt ausnutzt, um ein unbeabsichtigtes Verhalten zu erzwingen — etwa Code auszuführen oder Rechte auszuweiten. Er ist das Werkzeug, das aus einer theoretischen Lücke einen praktischen Angriff macht.

    Im Glossar lesen
    PoC (öffentlich gemeldet)
    XIEM Effective CVSS

    XIEM® ist das gestufte Managed-Security-Betriebsmodell von NEOSEC und eine eingetragene Marke der NEOSEC GmbH. Es erweitert klassisches SIEM — die zentrale Sammlung, Normalisierung und Korrelation sicherheitsrelevanter Ereignisse — um Endpunkt-Forensik, Netzwerk-Sichtbarkeit und Täuschungstechnik und führt diese zu drei aufeinander aufbauenden Stufen zusammen: Sentry, Orchestrate und Command.

    Im Glossar lesen
    9,9 Methodik
    CVSS v3

    CVSS ist der weltweit verbreitete, offene Standard zur Bewertung der technischen Schwere einer Schwachstelle auf einer Skala von 0 bis 10. Er beschreibt, wie leicht eine Lücke ausnutzbar ist und welchen Schaden sie anrichten kann — nicht jedoch, wie wahrscheinlich ihre tatsächliche Ausnutzung ist. CVSS und das ergänzende EPSS beantworten bewusst unterschiedliche Fragen.

    Im Glossar lesen
    9,9
    CVSS v4

    CVSS ist der weltweit verbreitete, offene Standard zur Bewertung der technischen Schwere einer Schwachstelle auf einer Skala von 0 bis 10. Er beschreibt, wie leicht eine Lücke ausnutzbar ist und welchen Schaden sie anrichten kann — nicht jedoch, wie wahrscheinlich ihre tatsächliche Ausnutzung ist. CVSS und das ergänzende EPSS beantworten bewusst unterschiedliche Fragen.

    Im Glossar lesen
    9,4
    EPSS-Score

    Der EPSS-Score ist der absolute Modell-Output für eine einzelne Schwachstelle: die geschätzte Wahrscheinlichkeit einer realen Ausnutzung in den nächsten 30 Tagen, ausgedrückt als Wert zwischen 0 und 1 (bzw. 0 % bis 100 %). Ein Score von 0,42 bedeutet „das Modell schätzt eine 42-prozentige Chance auf reale Ausnutzung binnen 30 Tagen“.

    Im Glossar lesen
    0,7 %
    Niedrig – Modell schätzt < 1 % Ausnutzungs-Wahrscheinlichkeit.
    EPSS-Perzentil

    Das EPSS-Perzentil ist die relative Einordnung einer Schwachstelle innerhalb aller EPSS-bewerteten CVEs, ausgedrückt als Wert zwischen 0 und 1. Ein Perzentil von 0,90 bedeutet „diese CVE hat einen höheren EPSS-Score als 90 % aller anderen bewerteten CVEs“. Anders als der EPSS-Score ist es keine Wahrscheinlichkeit — sondern eine Positionierung im Ranking.

    Im Glossar lesen
    52,1
    Hoch – CVE rangiert über dem Median aller heute bewerteten CVEs (Rang ≥ 36 %).
    KEV-Status

    Der KEV-Katalog ist eine von der US-Behörde CISA gepflegte Liste von Schwachstellen, für die eine aktive Ausnutzung in der Praxis nachgewiesen ist. Er beantwortet nicht die Frage „wie schwer?“, sondern „wird es bereits angegriffen?“ — und priorisiert damit das Patchen scharf.

    Im Glossar lesen
    —
    Veröffentlicht
    CISA-Bewertung (SSVC)
    Ausnutzung: keine bekannt · nicht automatisierbar · Auswirkung: vollständig
    Quelle: CISA Vulnrichment, Stand 31. Juli 2026
    CWE

    CWE ist ein Katalog typischer Schwächen-Arten in Software und Hardware — etwa fehlerhafte Eingabevalidierung, unsichere Speicherbehandlung oder mangelhafte Authentisierung. Während eine CVE eine konkrete Schwachstelle in einem konkreten Produkt benennt, beschreibt eine CWE die zugrunde liegende Fehlerklasse.

    Im Glossar lesen
    CWE-78, CWE-115

    Erkennungsregeln

    Für diese Schwachstelle liegt noch keine NEOSEC-Erkennungsregel vor.

    Einordnung nach NIS2 und CRA

    Regelbasierte Einordnung aus Ausnutzungsstatus und Schweregrad. Sie ersetzt keine Prüfung im Einzelfall.

    NIS2

    NIS2 ist die EU-Richtlinie (EU) 2022/2555 zur Erhöhung des Cybersicherheitsniveaus in der Union. Sie weitet Pflichten gegenüber der ersten NIS-Richtlinie deutlich aus: mehr Sektoren, verbindliches Risikomanagement, gestufte Meldepflichten und persönliche Verantwortung der Geschäftsleitung.

    Im Glossar lesen
    Hohe technische Schwere: Bewerten und beheben Sie die Schwachstelle im Schwachstellenmanagement nach Art. 21 Abs. 2 lit. e NIS2 und dokumentieren Sie die Entscheidung.
    CRA

    Der CRA ist die EU-Verordnung (EU) 2024/2847 mit horizontalen Cybersicherheitsanforderungen an „Produkte mit digitalen Elementen“ — von Industriesteuerungen über Software bis zu vernetzten Verbrauchergeräten. Erstmals müssen Hersteller Sicherheit über den gesamten Produktlebenszyklus gewährleisten, Schwachstellen behandeln und Sicherheitsupdates bereitstellen.

    Im Glossar lesen
    Ab dem 11.12.2027 verpflichtet Anhang I Teil II CRA Hersteller betroffener Produkte mit digitalen Elementen, Schwachstellen unverzüglich zu behandeln und Sicherheitsupdates bereitzustellen.
    ISO/IEC 27001

    ISO/IEC 27001 ist der international führende Standard für ein Informationssicherheits-Managementsystem (ISMS). Er beschreibt einen risikobasierten, prozessorientierten Rahmen, um Informationssicherheit systematisch zu planen, umzusetzen, zu überprüfen und zu verbessern.

    Im Glossar lesen
    Maßnahme A.8.8, Management technischer Schwachstellen: Relevanz für Ihre Systeme bewerten, Behebung einplanen und nachweisen.

    Beschreibung

    Das Import/Export-Daten-Tool von pgAdmin 4 erstellt eine psql \copy (...) Befehlszeile, indem es eine vom Benutzer bereitgestellte SQL-Abfrage in eine Jinja-Vorlage interpoliert und die gerenderte Zeile an psql über --command weitergibt. Um zu verhindern, dass ein Angreifer aus der (...) Hülle ausbricht, validierte create_import_export_job() (Route POST /import_export/job/<sid>, nur durch das üblicherweise gewährte Werkzeugrecht tools_import_export_data eingeschränkt) die Abfrage mit einem handgeschriebenen Klammerausgleichs-Checker, _is_query_parens_balanced(). Dieser Checker behandelte immer einen Backslash vor einem einfachen Anführungszeichen (\') als das Escapen des Anführungszeichens, d.h. als ob standard_conforming_strings ausgeschaltet wäre. Seit PostgreSQL 9.1 (2010) ist standard_conforming_strings standardmäßig eingeschaltet, was die Standardversion von PostgreSQL ist, die pgAdmin 4 derzeit unterstützt (13-18); unter diesem Standard behandelt psqls eigener \copy-Tokenizer \ als einen gewöhnlichen Zeichencode, so dass ein Anführungszeichen unmittelbar danach das String-Literal schließt. Eine Abfrage wie SELECT 'a\) TO PROGRAM 'echo pwned' x' wurde daher von pgAdmins Checker als "ausgeglichen" akzeptiert (der glaubte, das ) sei noch innerhalb des Strings), während psql, ausgeführt über die tatsächlich gerenderte Befehlszeile, den String an diesem Punkt schließt und das folgende ) als Ende der umschließenden \copy (...) Unterabfrage behandelt, wodurch ein von einem Angreifer gewähltes TO PROGRAM '<Befehl>'-Klausel freigelegt wird, die psql über popen() unabhängig von einem späteren Syntaxfehler auf derselben Zeile ausführt. Dies ist dieselbe Art von Fehler wie CVE-2025-12762/CVE-2025-13780 (RCE über psql-Meta-Befehl/COPY-Injektion während der Wiederherstellung im PLAIN-Format), erreicht durch eine unabhängig geschriebene Verteidigung in einem anderen Modul (Import/Export Data anstelle von Restore) mit seinem eigenen, unterschiedlichen Logikfehler (invertierte Backslash-Escape-Semantik anstelle eines BOM-geschlagenen Regex-Ankers). Die Behebung lehnt jeden Backslash innerhalb eines einfachen Anführungszeichenstrings in der Abfrage kategorisch ab, anstatt eine von zwei möglichen psql-Interpretationen zu wählen. Dies ist bewusst konservativ: Da die korrekte Interpretation von \ vom standard_conforming_strings-Einstellung des Ziel-Servers abhängt, die der Checker nicht zuverlässig zur Validierungszeit kennen kann, ist es sicherer, die Abfrage abzulehnen als zu raten. Dieses Problem betrifft pgAdmin 4: von der Einführung von _is_query_parens_balanced() vor Version 9.18.

    Quelle: NVD (NIST), cvelistv5, BSI WID Portal, BSI CSAF

    Betroffene Produkte

    Betroffen sind die folgenden Versionen. Ältere Stände derselben Reihe sind ebenfalls verwundbar, sofern nicht anders angegeben.

    Betroffene Produkte
    Betroffene VersionenBehoben in
    pgadmin.orgpgAdmin 4
    • < 9.18
    • 9.18
    pgadminpgadmin_4
    • < 9.18
    • 9.18
    Open SourcepgAdmin
    • < 9.17
    • 9.17

    Hersteller und Produkte

    Weakness-Klassen (CWE)

    • CWE-78Improper Neutralization of Special Elements used in an OS Command ('OS Command Injection')

      Base

      The product constructs all or part of an OS command using externally-influenced input from an upstream component, but it does not neutralize or incorrectly neutralizes special elements that could modify the intended OS command when it is sent to a downstream component.

      Eintrag bei MITRE CWE-78
    • CWE-115Misinterpretation of Input

      Base

      The product misinterprets an input, whether from an attacker or another product, in a security-relevant fashion.

      Eintrag bei MITRE CWE-115

    Öffentliche Exploit-Referenzen

    Öffentlich gemeldete Proof-of-Concepts, Exploit-Module und Detection-Templates zu dieser Schwachstelle. NEOSEC verlinkt ausschließlich auf die Originalquellen und stellt keinen Exploit-Code bereit.

    Öffentliche Exploit-Referenzen
    PoC-in-GitHub (nomi-sec)CVE-2026-17566 (öffnet in neuem Tab)github.comPoC (öffentlich gemeldet)gemeldet, nicht verifiziert

    Quellen & Referenzen

    • github.compgadmin-org/pgadmin4/issues/10213Issue-Tracker, Issue-Tracker, Patch
    • github.compgadmin-org/pgadmin4/commit/1496fabe28c9f825f6bac0f0d000d9d3276…Patch, Patch

    Änderungen an der CVE

    Wer diese CVE wann geändert hat: die NVD (Analyse, betroffene Produkte, CVSS), der Herausgeber der CVE (CNA) und ergänzende Stellen wie CISA (ADP).

    1. Erstanalyse durch die NVDNVD

      3 Einzeländerungen im Original anzeigen
      Einzeländerungen dieses Ereignisses im Original der NVD
      ArtAktionVorherNachher
      Produktkonfigurationergänzt
      —
      OR *cpe:2.3:a:pgadmin:pgadmin_4:*:*:*:*:*:postgresql:*:* versions up to (excluding) 9.18
      Referenztypergänzt
      —
      PostgreSQL: https://github.com/pgadmin-org/pgadmin4/commit/1496fabe28c9f825f6bac0f0d000d9d3276322c3 Types: Patch
      Referenztypergänzt
      —
      PostgreSQL: https://github.com/pgadmin-org/pgadmin4/issues/10213 Types: Issue Tracking, Patch

      Kennung der Quelle: nvd@nist.gov

    2. Eintrag geändertCISA ADP

      CISA-Einschätzung (SSVC): Ausnutzung: keine bekannt, automatisierbar: nein

      Einzeländerung im Original anzeigen
      Einzeländerungen dieses Ereignisses im Original der NVD
      ArtAktionVorherNachher
      SSVC-Einschätzungergänzt
      —
      {"id":"CVE-2026-17566","role":"CISA Coordinator","options":[{"exploitation":"none"},{"automatable":"no"},{"technicalImpact":"total"}],"version":"2.0.3","timestamp":"2026-07-31T16:58:55.142206Z"}

      Kennung der Quelle: 134c704f-9b21-4f2e-91b3-4a467353bcc0

    3. Neu erfasstf86ef6dc…

      CVSS V4.0: AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:H/SC:H/SI:H/SA:H

      CVSS V3.1: AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H

      Schwachstellentyp: CWE-78, CWE-115

      Beschreibung erfasst oder geändert

      8 Einzeländerungen im Original anzeigen
      Einzeländerungen dieses Ereignisses im Original der NVD
      ArtAktionVorherNachher
      Betroffene Versionen (Herausgeber)ergänzt
      —
      pgAdmin 4
      Beschreibungergänzt
      —
      pgAdmin 4's Import/Export Data tool builds a psql \copy (...) command line by interpolating a user-supplied SQL query into a Jinja template and passing the rendered line to psql via --command. To stop an attacker from breaking out of the (...) wrapper, create_import_export_job() (route POST /import_export/job/<sid>, gated only by the ordinary, commonly-granted tools_import_export_data permission) validated the query with a hand-written parenthesis-balance checker, _is_query_parens_balanced(). That checker always treated a backslash before a single quote (\') as escaping the quote, i.e. as if standard_conforming_strings were off. PostgreSQL has defaulted standard_conforming_strings to on since 9.1 (2010), the default on every PostgreSQL version pgAdmin 4 currently supports (13-18); under that default psql's own \copy tokenizer treats \ as an ordinary character, so a single quote immediately after it closes the string literal. A query such as SELECT 'a\') TO PROGRAM 'echo pwned' x' was therefore accepted as "balanced" by pgAdmin's checker (which believed the ) was still inside the string), while psql, run through the actual rendered command line, closes the string at that point and treats the following ) as the end of the wrapping \copy (...) subquery, exposing an attacker-chosen TO PROGRAM '<command>' clause that psql executes via popen() -- independent of a subsequent syntax error later on the same line. This is the same class of bug as CVE-2025-12762/CVE-2025-13780 (RCE via psql meta-command/COPY injection during PLAIN-format dump restore), reached through an independently written defense in a different module (Import/Export Data rather than Restore) that had its own, different logic bug (inverted backslash-escape semantics rather than a BOM-defeated regex anchor). The fix rejects any backslash inside a single-quoted string in the query outright, rather than picking one of the two possible psql interpretations. This is intentionally conservative: because the correct interpretation of \ depends on the target server's standard_conforming_strings setting, which the checker cannot reliably know at validation time, refusing the query is safer than guessing. This issue affects pgAdmin 4: from the introduction of _is_query_parens_balanced() before 9.18.
      CVSSergänzt
      —
      AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:H/SC:H/SI:H/SA:H/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
      CVSSergänzt
      —
      AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H
      Schwachstellentyp (CWE)ergänzt
      —
      CWE-78
      Schwachstellentyp (CWE)ergänzt
      —
      CWE-115
      Referenzergänzt
      —
      https://github.com/pgadmin-org/pgadmin4/commit/1496fabe28c9f825f6bac0f0d000d9d3276322c3
      Referenzergänzt
      —
      https://github.com/pgadmin-org/pgadmin4/issues/10213

      Kennung der Quelle: f86ef6dc-4d3a-42ad-8f28-e6d5547a5007

    Eine Übersetzung der NVD in eine andere Sprache ist ausgeblendet.

    Verknüpfte Advisories

    Badge einbetten

    Zeigen Sie Schweregrad und KEV-Status dieser Schwachstelle auf Ihrer Seite – mit Link hierher. Das Bild wird stündlich aktualisiert.

    Badge-Vorschau für CVE-2026-17566
    <a href="https://intel.neosec.eu/cve/CVE-2026-17566"><img src="https://intel.neosec.eu/badge/cve/CVE-2026-17566.svg" alt="CVE-2026-17566 – NEOSEC Intel" height="20"></a>