Bug 2538373 (CVE-2026-61781) - CVE-2026-61781 pg_partman: privilege escalation through SQL injection in create_partition_time()
Summary: CVE-2026-61781 pg_partman: privilege escalation through SQL injection in crea...
Keywords:
Status: NEW
Alias: CVE-2026-61781
Product: Security Response
Classification: Other
Component: vulnerability
Version: unspecified
Hardware: All
OS: Linux
urgent
urgent
Target Milestone: ---
Assignee: Product Security
QA Contact:
URL:
Whiteboard:
Depends On: 2540731
Blocks:
TreeView+ depends on / blocked
 
Reported: 2026-09-22 18:20 UTC by OSIDB Bzimport
Modified: 2026-09-24 19:09 UTC (History)
0 users

Fixed In Version:
Clone Of:
Environment:
Last Closed:
Embargoed:


Attachments (Terms of Use)

Description OSIDB Bzimport 2026-09-22 18:20:35 UTC
pg_partman is a PostgreSQL extension that manages partitioned tables by time or ID. Prior to 5.5.0, create_partition_time() reads the writable part_config.time_encoder text value and interpolates it without identifier quoting into a dynamically executed SELECT statement. A role with the documented partman_user INSERT and UPDATE privileges can store SQL rather than a function name. When pg_partman_bgw later creates a child partition for a text- or UUID-keyed set, the worker executes the stored SQL with pg_partman_bgw.role privileges, which default to PostgreSQL superuser. The persistent configuration row can repeatedly restore elevated access on later maintenance ticks, and successful exploitation can permit database-wide compromise and operating-system command execution as the PostgreSQL service account. This issue is fixed in version 5.5.0.


Note You need to log in before you can comment on or make changes to this bug.