Description
pg_partman is a PostgreSQL extension that manages partitioned tables by time or ID. Prior to 5.5.0, inherit_template_properties() manually surrounds primary-key column names from pg_attribute.attname with double quotes without escaping embedded double-quote characters. A partman_user who owns a template table can create a crafted column name that breaks out of the generated ALTER TABLE ADD PRIMARY KEY identifier when the background worker applies the key to a child partition. The generated SQL then executes with pg_partman_bgw.role privileges, which default to PostgreSQL superuser, permitting database-wide compromise and operating-system command execution as the PostgreSQL service account. The crafted catalog identifier persists until removed and can trigger again during later partition creation. This issue is fixed in version 5.5.0.
Affected products
| Vendor | Product | Affected | Fixed |
|---|---|---|---|
| pgpartman | pg_partman | < 5.5.0 | — |
Fixed in Linux distributions
Distributions backport fixes, so the version that fixes this vulnerability differs per release — upgrade to at least the version shown. From the distributions' security trackers and advisories.
Debian
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Debian 14 | pg-partman | 5.5.0-1 | — |
| Debian 13 | pg-partman | No fix yet | — |
| Debian 12 | pg-partman | No fix yet | — |
Ubuntu
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Ubuntu 26.04 LTS | pg-partman | No fix yet | — |
| Ubuntu 24.04 LTS | pg-partman | No fix yet | — |
| Ubuntu 22.04 LTS | pg-partman | No fix yet | — |
| Ubuntu 20.04 LTS | pg-partman | No fix yet | — |
| Ubuntu 18.04 LTS | pg-partman | No fix yet | — |
Show 1 more (older releases, extended support, other products)Fewer releases
| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Ubuntu 16.04 LTS | pg-partman | No fix yet | — |
Advisories 1
- WID-SEC-2026-2493 pg_partman: Mehrere Schwachstellen BSI CERT-Bund (WID) · Sep 20, 2026