CVE-2026-120146 PUBLISHED

PostgreSQL REASSIGN OWNED bypasses role SET and CREATEDB checks

Assigner: PostgreSQL
Reserved: 30.10.2026 Published: 12.11.2026 Updated: 12.11.2026

Missing authorization in PostgreSQL REASSIGN OWNED allows a role granted INHERIT but not SET to transfer objects to the granted role. It also allows reassignment of database ownership without the CREATEDB privilege. The equivalent ALTER ... OWNER commands block this. Versions before PostgreSQL 18.7, 17.12, 16.16, 15.20, and 14.25 are affected.

Metrics

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

Product Status

Vendor n/a
Product PostgreSQL
Versions Default: unaffected
  • affected from 18 to 18.7 (excl.)
  • affected from 17 to 17.12 (excl.)
  • affected from 16 to 16.16 (excl.)
  • affected from 15 to 15.20 (excl.)
  • affected from 0 to 14.25 (excl.)

Affected Configurations

a role grant to the attacker has INHERIT TRUE and SET FALSE, or the attacker could run ALTER DATABASE ... OWNER but for lack of CREATEDB privilege

Credits

  • The PostgreSQL project thanks Zsolt Parragi for reporting this problem.

References

Problem Types

  • Missing Authorization CWE