CVE-2026-61821 PUBLISHED

pg_partman authorization bypass to move child tables between schemas during retention

Assigner: GitHub_M
Reserved: 10.07.2026 Published: 18.09.2026 Updated: 18.09.2026

pg_partman is a PostgreSQL extension that manages partitioned tables by time or ID. Prior to 5.5.0, drop_partition_id() and drop_partition_time() use part_config.retention_schema as the target for ALTER TABLE SET SCHEMA and accept any nonempty schema name. A role with partman_user access can select a target schema where the role lacks the normal CREATE privilege, and the background worker performs the relocation with pg_partman_bgw.role privileges, which default to PostgreSQL superuser, bypassing the authorization check that a normal ALTER TABLE SET SCHEMA operation would enforce. This permits unauthorized relocation of retained child tables between schemas. This issue is fixed in version 5.5.0.

Metrics

CVSS Vector: CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:L/A:N
CVSS Score: 8.5

Product Status

Vendor pgpartman
Product pg_partman
Versions
  • Version < 5.5.0 is affected

References

Problem Types

  • CWE-862: Missing Authorization CWE