CVE-2026-12045
CVE-2026-12045 is a critical-severity vulnerability in Pgadmin Pgadmin 4 with a CVSS 3.x base score of 9.0. It is not currently listed as actively exploited by CISA, and its EPSS exploit-prediction score is low. The underlying weakness is classified as CWE-77.
Key facts
- Severity: Critical (CVSS 3.x base score 9.0)
- CVSS v4: 9.4
- EPSS exploit prediction: 1% (50th percentile)
- Actively exploited: Not listed in CISA KEV
- EU (EUVD) id: EUVD-2026-37965
- Weakness: CWE-77
- Affected product: Pgadmin Pgadmin 4
- Published:
- Last modified:
Description
Read-only transaction bypass in the pgAdmin 4 AI Assistant allows an attacker who can influence database content that the assistant reads to execute arbitrary SQL with the privileges of the pgAdmin user's database role. The AI Assistant's execute_sql_query tool runs LLM-generated SQL inside a BEGIN TRANSACTION READ ONLY wrapper to prevent data modification. The LLM-supplied query was forwarded to the database driver without restriction to a single statement or to read-only verbs, so a multi-statement payload beginning with COMMIT, END, ROLLBACK, or ABORT terminated the read-only transaction and ran subsequent statements in autocommit mode. The trailing ROLLBACK then had no effect. Delivery is via prompt injection: an attacker who can write content into any object the AI Assistant may inspect (a row, a column value, a comment) can cause the LLM to emit the multi-statement payload as a tool call. With ordinary write privileges on the pgAdmin user's role the attacker can perform unauthorised data modification. When the pgAdmin user's role is a PostgreSQL superuser or holds pg_execute_server_program, the chain extends to remote code execution on the database server host via COPY ... TO PROGRAM. Fix validates the LLM-supplied query up front: it must parse to exactly one non-empty / non-comment statement whose leading real token (after stripping whitespace, comments, and punctuation) is one of SELECT, WITH, EXPLAIN, SHOW, VALUES, or TABLE. Transaction-control verbs, DML, DDL, CALL, COPY, DO, SET/RESET, and everything else are rejected before any database work happens. PostgreSQL's READ ONLY mode continues to backstop data-modifying CTEs, EXPLAIN ANALYZE on writes, and volatile side effects. This issue affects pgAdmin 4: from 9.13 before 9.16.
Frequently asked questions
- What is CVE-2026-12045?
- Read-only transaction bypass in the pgAdmin 4 AI Assistant allows an attacker who can influence database content that the assistant reads to execute arbitrary SQL with the privileges of the pgAdmin user's database role. The AI Assistant's execute_sql_query tool runs LLM-generated SQL inside a BEGIN TRANSACTION READ ONLY wrapper to prevent data modification. The LLM-supplied query was forwarded to the database driver without restriction to a single statement or to read-only verbs, so a multi-statement payload beginning with COMMIT, END, ROLLBACK, or ABORT terminated the read-only transaction and ran subsequent statements in autocommit mode. The trailing ROLLBACK then had no effect. Delivery is via prompt injection: an attacker who can write content into any object the AI Assistant may inspect (a row, a column value, a comment) can cause the LLM to emit the multi-statement payload as a tool call. With ordinary write privileges on the pgAdmin user's role the attacker can perform unauthorised data modification. When the pgAdmin user's role is a PostgreSQL superuser or holds pg_execute_server_program, the chain extends to remote code execution on the database server host via COPY ... TO PROGRAM. Fix validates the LLM-supplied query up front: it must parse to exactly one non-empty / non-comment statement whose leading real token (after stripping whitespace, comments, and punctuation) is one of SELECT, WITH, EXPLAIN, SHOW, VALUES, or TABLE. Transaction-control verbs, DML, DDL, CALL, COPY, DO, SET/RESET, and everything else are rejected before any database work happens. PostgreSQL's READ ONLY mode continues to backstop data-modifying CTEs, EXPLAIN ANALYZE on writes, and volatile side effects. This issue affects pgAdmin 4: from 9.13 before 9.16.
- How severe is CVE-2026-12045?
- CVE-2026-12045 has a CVSS 3.x base score of 9.0, rated critical severity. It is exploitable over network with low attack complexity, requires low privileges and user interaction. Impact on confidentiality is high, integrity high, and availability high.
- Is CVE-2026-12045 being actively exploited?
- It is not currently listed in CISA's KEV catalog. Its EPSS exploit-prediction score is 1% (50th percentile), an estimate of the probability of exploitation in the next 30 days.
- What products are affected by CVE-2026-12045?
- CVE-2026-12045 affects Pgadmin Pgadmin 4. See the affected-products list for the exact vulnerable versions.
- How do I fix CVE-2026-12045?
- Review the linked vendor and NVD advisories for patched versions and mitigations, then upgrade or apply the recommended workaround. Given its critical severity, prioritise patching exposed systems.
- Does CVE-2026-12045 have an EU (EUVD) identifier?
- Yes. CVE-2026-12045 is tracked in the ENISA EU Vulnerability Database (EUVD) as EUVD-2026-37965.
- When was CVE-2026-12045 published?
- CVE-2026-12045 was published on 2026-06-19 and last updated on 2026-07-01.
References
- https://github.com/pgadmin-org/pgadmin4/commit/bf4792444446f0e7ab721d23cbd6bfe6afaa7a8b
- https://github.com/pgadmin-org/pgadmin4/issues/10022
Affected products (1)
- cpe:2.3:a:pgadmin:pgadmin_4:*:*:*:*:*:postgresql:*:*
More vulnerabilities in Pgadmin Pgadmin 4
- CVE-2026-17566 — Critical (CVSS 9.9): pgAdmin 4's Import/Export Data tool builds a psql \copy (...) command line by interpolating a user-supplied SQL query…
- CVE-2026-7813 — Critical (CVSS 9.9): Authorization vulnerability in pgAdmin 4 server mode affecting Server Groups, Servers, Shared Servers, Background…
- CVE-2025-2945 — Critical (CVSS 9.9): Remote Code Execution security vulnerability in pgAdmin 4 (Query Tool and Cloud Deployment modules). The…
- CVE-2024-9014 — Critical (CVSS 9.9): pgAdmin versions 8.11 and earlier are vulnerable to a security flaw in OAuth2 authentication. This vulnerability allows…
- CVE-2024-2044 — Critical (CVSS 9.9): pgAdmin <= 8.3 is affected by a path-traversal vulnerability while deserializing users’ sessions in the session…
- CVE-2026-86863 — Critical (CVSS 9.8): pgAdmin 4's Webserver authentication source is intended to accept an identity asserted by the web server or reverse…
All CVEs affecting Pgadmin Pgadmin 4 →
Other CWE-77 (Command Injection) vulnerabilities
- CVE-2026-105484 — Critical (CVSS 10.0): A security vulnerability has been detected in TOTOLINK X6000R 9.4.0cu.652_B20230116. The impacted element is the…
- CVE-2026-105134 — Critical (CVSS 10.0): A flaw has been found in Ahsay AhsayCBS up to 10.3.2. This vulnerability affects unknown code of the file…
- CVE-2026-102240 — Critical (CVSS 10.0): A vulnerability was found in Netcore NAP930 0.1.241010.141410. This affects the function eval of the file…
- CVE-2026-101076 — Critical (CVSS 10.0): A vulnerability was detected in Netcore NR289-GE 1.4.5102. This affects the function system of the file…
- CVE-2026-101075 — Critical (CVSS 10.0): A security vulnerability has been detected in Netcore NR289-GE 1.4.5102. The impacted element is the function system of…
- CVE-2026-101072 — Critical (CVSS 10.0): A vulnerability was identified in Netcore NR289-GE 1.4.5102. This issue affects the function system of the file…