9.9Critical

CVE-2026-61781

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.

What this means for your business

  • An attacker can use it remotely, over a network, with an ordinary user login, and without anyone at your company clicking anything.

What to do

  1. 1Ask your IT team or provider whether any of your systems use the affected product.
  2. 2If you do, follow the vendor's guidance. No patch reference has been published yet.

Not sure if your company is exposed?

Fastnexa’s certified penetration testers can check whether attackers could use this flaw, or others like it, against your websites, apps and network. The full test is free for our first 10 founding clients until 31 December 2026.

Scoring

CVSS
9.9 (v3.1)
Vector
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H
Weakness
CWE-89
Assigned by
security-advisories@github.com

Dates

Published
2026-09-18
Last modified
2026-09-23
Sources
NVD

References