CyberRota Analysis
AI-GeneratedThe pg_partman extension for PostgreSQL is vulnerable due to improper authorization checks in the drop_partition_id() and drop_partition_time() functions, allowing users with partman_user access to relocate retained child tables to unauthorized schemas. This could lead to unauthorized data exposure or manipulation, as the operation is executed with superuser privileges. Organizations using versions prior to 5.5.0 should prioritize upgrading to mitigate this high-severity risk.
Public Exploit Signal
A public exploit, PoC, GitHub repository or Metasploit reference was detected for this CVE.
Note: these links are listed for security research and verification purposes only.
Original NVD Description
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.