CVE-2026-17351

CRITICALNVD 9.09.0—
EchelonGraph scoreMEDIUM confidence

Score 9.0 from GitHub Security Advisory (severity: CRITICAL) published 2026-07-31. NVD baseline CVSS 9.0; sources differ by 0.0.

Triggered by: GitHub Security Advisory CVSS
Sources: epss, ghsa, nvd
Trending — 3 sources updated this week
9.0EG
EchelonGraph verdictPlan a fixSerious severity, but no confirmed exploitation yet.
  • High severity, but no confirmed exploitation yet
CISA-KEV: Not listedEPSS PROB: 0.5%CVSS: 9.0Exploit: None knownExposed services: Not assessed

A fix is available — apply it.

The fix for CVE-2026-12045 in pgAdmin 4 9.16 required the LLM-supplied query passed to the AI Assistant's execute_sql_query tool to parse, via sqlparse, as exactly one non-transaction-control statement before running it inside a BEGIN TRANSACTION READ ONLY wrapper. sqlparse's string-literal lexing can disagree with PostgreSQL's own parser: under standard_conforming_strings = on (PostgreSQL's default since 9.1), a backslash immediately before a quote is an ordinary character to PostgreSQL, but sqlparse treats it as escaping the quote. A payload such as SELECT '\';COMMIT;CREATE TABLE pwn(x int);SELECT 1 --' therefore parses as a single SELECT to sqlparse's validator, while PostgreSQL executes it as four statements: the smuggled COMMIT ends the wrapping read-only transaction, and the trailing ROLLBACK becomes a no-op. This reintroduces the same write/RCE bypass CVE-2026-12045 was meant to close, reachable via the same indirect prompt-injection delivery (an attacker plants the payload in any object the AI Assistant may read; the LLM emits it as a tool call).

An initial candidate fix ran the query with psycopg's execute(..., prepare=True), intending to force PostgreSQL's own Parse step (extended query protocol) to reject multi-statement text regardless of sqlparse's classification. This candidate fix does not work as submitted: psycopg3's PrepareManager silently ignores the prepare argument whenever the connection's prepare_threshold is None, which is pgAdmin's default for every server connection (the per-server "Prepare threshold" field is blank unless an administrator explicitly sets it) -- psycopg3 falls back to the simple query protocol, the same multi-statement-capable path the bypass exploits, so the candidate fix closes nothing on any real-world default configuration.

The corrected fix sets conn.prepare_threshold = 0 directly on the dedicated, single-use read-only connection the AI Assistant tool opens, structurally forcing the extended query protocol independent of any server-level configuration. Verified against a live PostgreSQL 18 instance: the payload executes successfully under the prepare_threshold=None (default) behavior, and is rejected with "cannot insert multiple commands into a prepared statement" once prepare_threshold=0 is set on that connection.

This issue affects pgAdmin 4: from 9.13 before 9.17.

CVSS v3
9.0
EG Score
9.0CRITICALmedium confidence
EG Risk
41
EG Risk 41/100CISA SSVC

EG Risk is EchelonGraph's 0–100 priority score: it fuses intrinsic severity with real-world exploitation and automatability so you can rank equal-severity CVEs and fix the most dangerous first. Higher = act sooner. Distinct from the 0–10 EG Score (severity).

How it’s computed
Severity90% × 45%
Exploitation0% × 40%
Automatability0% × 15%
CISA SSVC: Track at low or medium mission impact; Track* at high (mission-essential systems).
Action: A fix is available. Apply it within your standard update timelines.
EPSS PROB
0.5%
EPSS %ILE
39th
KEV
Not listed

CISA SSVCTrack at low or medium mission impact; Track* at high (mission-essential systems).

A fix is available. Apply it within your standard update timelines.

Exploitation none (CISA Vulnrichment) · Automatable no (CISA Vulnrichment) · Technical impact total (CISA Vulnrichment). Mission impact is CISA's Mission & Well-being decision point, and only you can judge it: high means the affected system is essential to your organisation's mission, or its compromise could cause irreversible harm to people. CISA's decision table

Published

July 31, 2026

Last Modified

August 5, 2026

Advisory Details (3)

Auto-updated Jul 31, 2026
Patch available. Sources: github_commit.
generic

AI Assistant read-only transaction bypass via sqlparse/PostgreSQL lexer disagreement (CVE-2026-17351) · Issue #10192 · pgadmin-org/pgadmin4 · GitHub

https://github.com/pgadmin-org/pgadmin4/issues/10192
github_commit

commit ef76102bcd1c (pgadmin-org/pgadmin4)

Fix landed in pgadmin-org/pgadmin4 commit ef76102bcd1c — awaiting tagged release

https://github.com/pgadmin-org/pgadmin4/commit/ef76102bcd1cdb544eb9b4ef18d3382f22b76752
github_commit

commit bf4792444446 (pgadmin-org/pgadmin4)

Fix landed in pgadmin-org/pgadmin4 commit bf4792444446 — awaiting tagged release

https://github.com/pgadmin-org/pgadmin4/commit/bf4792444446f0e7ab721d23cbd6bfe6afaa7a8b

Vendor Advisories for CVE-2026-17351(1)

These vendors published their own advisory mentioning this CVE — often with vendor-specific remediation steps + affected product lists not in NVD.

Weakness Classification(2)

MITRE Common Weakness Enumeration — the root-cause categories this CVE belongs to.

Data Freshness Timeline

(refreshed 20× in last 7d / 123× in last 30d)

Each row is a source pipeline that fetched or updated this CVE on that date, with what changed. For example, "NVD update" means NVD published or revised its analysis for this CVE; "MITRE cvelistV5" means we ingested or refreshed it from the CNA feed. Most recent first.

Showing the most recent 100 of 365 total refreshes for this CVE.

  1. 2026-10-04 23:51 UTCEG score recompute
  2. 2026-10-04 23:51 UTCGHSA enrichment
  3. 2026-10-04 23:21 UTCEPSS rescore
  4. 2026-10-04 12:29 UTCGHSA enrichment
  5. 2026-10-04 06:29 UTCEG score recompute
  6. 2026-10-04 06:29 UTCGHSA enrichment
  7. 2026-10-03 14:25 UTCEPSS rescore
  8. 2026-10-03 02:47 UTCGHSA enrichment
  9. 2026-10-02 16:49 UTCEG score recompute
  10. 2026-10-02 16:49 UTCGHSA enrichment
  11. 2026-10-01 19:49 UTCEPSS rescore
  12. 2026-10-01 15:54 UTCGHSA enrichment
  13. 2026-10-01 11:31 UTCGHSA enrichment
  14. 2026-10-01 07:09 UTCGHSA enrichment
  15. 2026-10-01 02:46 UTCEG score recompute
  16. 2026-10-01 02:46 UTCGHSA enrichment
  17. 2026-09-30 15:02 UTCEPSS rescore
  18. 2026-09-29 15:20 UTCEPSS rescore
  19. 2026-09-29 06:50 UTCEG score recompute
  20. 2026-09-29 06:49 UTCGHSA enrichment
  21. 2026-09-28 13:51 UTCEPSS rescore
  22. 2026-09-28 12:52 UTCGHSA enrichment
  23. 2026-09-28 07:15 UTCGHSA enrichment
  24. 2026-09-28 02:52 UTCGHSA enrichment
  25. 2026-09-27 18:44 UTCEG score recompute
Show 75 more
  1. 2026-09-27 18:44 UTCGHSA enrichment
  2. 2026-09-27 13:47 UTCEPSS rescore
  3. 2026-09-26 15:58 UTCEPSS rescore
  4. 2026-09-25 09:21 UTCGHSA enrichment
  5. 2026-09-25 04:52 UTCEG score recompute
  6. 2026-09-25 04:52 UTCGHSA enrichment
  7. 2026-09-24 10:52 UTCGHSA enrichment
  8. 2026-09-24 06:13 UTCGHSA enrichment
  9. 2026-09-24 01:51 UTCGHSA enrichment
  10. 2026-09-23 21:26 UTCGHSA enrichment
  11. 2026-09-23 16:44 UTCEG score recompute
  12. 2026-09-23 16:44 UTCGHSA enrichment
  13. 2026-09-23 10:53 UTCGHSA enrichment
  14. 2026-09-23 06:19 UTCGHSA enrichment
  15. 2026-09-23 01:57 UTCGHSA enrichment
  16. 2026-09-22 21:34 UTCEG score recompute
  17. 2026-09-22 21:34 UTCGHSA enrichment
  18. 2026-09-22 13:17 UTCGHSA enrichment
  19. 2026-09-22 07:39 UTCEG score recompute
  20. 2026-09-22 07:39 UTCGHSA enrichment
  21. 2026-09-20 21:13 UTCEG score recompute
  22. 2026-09-20 21:13 UTCGHSA enrichment
  23. 2026-09-20 11:09 UTCGHSA enrichment
  24. 2026-09-20 04:05 UTCGHSA enrichment
  25. 2026-09-19 23:42 UTCEG score recompute
  26. 2026-09-19 23:42 UTCGHSA enrichment
  27. 2026-09-19 04:22 UTCGHSA enrichment
  28. 2026-09-18 23:59 UTCEG score recompute
  29. 2026-09-18 23:59 UTCGHSA enrichment
  30. 2026-09-18 19:27 UTCEPSS rescore
  31. 2026-09-18 19:23 UTCGHSA enrichment
  32. 2026-09-18 14:52 UTCGHSA enrichment
  33. 2026-09-18 10:01 UTCGHSA enrichment
  34. 2026-09-18 05:39 UTCGHSA enrichment
  35. 2026-09-18 01:16 UTCEG score recompute
  36. 2026-09-18 01:16 UTCGHSA enrichment
  37. 2026-09-17 06:11 UTCGHSA enrichment
  38. 2026-09-17 01:24 UTCEG score recompute
  39. 2026-09-17 01:24 UTCGHSA enrichment
  40. 2026-09-16 14:07 UTCEPSS rescore
  41. 2026-09-16 11:20 UTCGHSA enrichment
  42. 2026-09-16 05:28 UTCEG score recompute
  43. 2026-09-16 05:28 UTCGHSA enrichment
  44. 2026-09-16 05:14 UTCEPSS rescore
  45. 2026-09-15 07:24 UTCEG score recompute
  46. 2026-09-15 07:24 UTCGHSA enrichment
  47. 2026-09-15 03:01 UTCGHSA enrichment
  48. 2026-09-14 15:29 UTCGHSA enrichment
  49. 2026-09-14 11:01 UTCGHSA enrichment
  50. 2026-09-14 06:39 UTCGHSA enrichment
  51. 2026-09-14 02:16 UTCGHSA enrichment
  52. 2026-09-13 21:54 UTCGHSA enrichment
  53. 2026-09-13 17:24 UTCEG score recompute
  54. 2026-09-13 17:24 UTCGHSA enrichment
  55. 2026-09-13 16:46 UTCEPSS rescore
  56. 2026-09-13 13:01 UTCGHSA enrichment
  57. 2026-09-13 08:39 UTCGHSA enrichment
  58. 2026-09-13 04:14 UTCGHSA enrichment
  59. 2026-09-12 23:47 UTCGHSA enrichment
  60. 2026-09-12 18:14 UTCEG score recompute
  61. 2026-09-12 18:14 UTCGHSA enrichment
  62. 2026-09-12 15:00 UTCEPSS rescore
  63. 2026-09-12 13:39 UTCGHSA enrichment
  64. 2026-09-12 09:16 UTCGHSA enrichment
  65. 2026-09-12 04:54 UTCGHSA enrichment
  66. 2026-09-12 00:31 UTCGHSA enrichment
  67. 2026-09-11 19:20 UTCGHSA enrichment
  68. 2026-09-11 14:57 UTCEG score recompute
  69. 2026-09-11 14:57 UTCGHSA enrichment
  70. 2026-09-11 14:52 UTCEPSS rescore
  71. 2026-09-11 09:36 UTCEPSS rescore
  72. 2026-09-11 06:03 UTCGHSA enrichment
  73. 2026-09-11 01:14 UTCGHSA enrichment
  74. 2026-09-10 18:56 UTCGHSA enrichment
  75. 2026-09-10 12:55 UTCEG score recompute

Frequently asked(5)

What is CVE-2026-17351?
CVE-2026-17351 is a critical vulnerability published on July 31, 2026. The fix for CVE-2026-12045 in pgAdmin 4 9.16 required the LLM-supplied query passed to the AI Assistant's executesqlquery tool to parse, via sqlparse, as exactly one non-transaction-control statement before running it inside a BEGIN TRANSACTION READ ONLY wrapper. sqlparse's string-literal lexing…
When was CVE-2026-17351 disclosed?
CVE-2026-17351 was first published on July 31, 2026, with the most recent update on August 5, 2026. EchelonGraph re-ingests CVE updates from NVD on a 2-hour cycle, so this page reflects the latest published state.
Is CVE-2026-17351 actively exploited?
CVE-2026-17351 is not currently on CISA's Known Exploited Vulnerabilities catalog. FIRST EPSS estimates a 0.5% probability of exploitation in the next 30 days (39th percentile of EPSS-scored CVEs).
What is the CVSS score of CVE-2026-17351?
CVE-2026-17351 has a CVSS v3 base score of 9.0 (NVD).
How do I remediate CVE-2026-17351?
A fix for CVE-2026-17351 is available: update to the fixed version the vendor names in its advisory. The vendor advisories EchelonGraph has for CVE-2026-17351 are linked in the Vendor Advisories panel on this page.

Dependency Blast Radius

Explore the affected products and dependency analysis for CVE-2026-17351

Explore →

Is Your Infrastructure Affected by CVE-2026-17351?

EchelonGraph automatically scans your cloud infrastructure and maps CVE exposure using blast radius analysis.