CVE intelligence and bounded remediation

CVE-2026-12044 — SQL injection in pgAdmin 4 across every dialog template that renders ``COMMENT ON

High CVSS 8.8

SQL injection in pgAdmin 4 across every dialog template that renders ``COMMENT ON ... IS '<description>'`` for a user-supplied description field. The Jinja templates for Domains (and their constraints), Foreign Tables, Languages, and Event Triggers, plus the Views OID-lookup query, interpolated the description directly inside a single-quoted SQL literal -- ``'{{ data.description }}'`` -- instead of passing it through the ``qtLiteral`` escape filter. An authenticated pgAdmin user with permission to create or alter the affected object types could submit a description containing an apostrophe, break out of the literal and chain arbitrary SQL. The injected SQL runs under the PostgreSQL role the user is already authenticated as; for a connected role with ``COPY ... TO/FROM PROGRAM`` (typically PostgreSQL superuser), this chains to OS command execution on the PostgreSQL host. The defect does not cross a privilege boundary -- the user already has direct SQL access to that role through pgAdmin's Query Tool -- so the attacker gains no capability beyond what their database role already grants. The marginal impact captures bypass of any application-layer Query Tool gating an operator may hav…

Severity
High
CVSS
8.8 (3.1)
Published
2026-06-19
CISA KEV
Not currently listed
Ecosystem
software/application
Weaknesses
CWE-89, CWE-116

Affected products

  • pgadmin / pgadmin_4

Matched remediation archetype

SQL and data-query injection

This catalog composition supplies bounded fallback guidance. Explicitly reviewed curated workflows load with the complete record below.

Check exposure

  • Trace request, message, file, and stored values into SQL, ORM query fragments, filters, sort expressions, and other data-query languages.
  • Inventory database roles, reachable schemas, multi-tenant boundaries, and whether stacked or administrative operations are enabled.
  • Check both direct queries and second-order use of previously stored values.

Remediate safely

  • Use parameterized queries or safe query builders for all values; map identifiers and operators through explicit allowlists.
  • Remove raw query concatenation and give the application account only the tables and operations it requires.
  • Update affected data-access components and add regression tests for query structure preservation with inert edge-case inputs.

Authoritative sources

Complete CVE record and remediation plan

The detailed catalog view below loads this exact record, its source evidence, and the full seven-phase agentic change plan.