CVE-2024-10976

NameCVE-2024-10976
DescriptionIncomplete tracking in PostgreSQL of tables with row security allows a reused query to view or change different rows from those intended. CVE-2023-2455 and CVE-2016-2193 fixed most interaction between row security and user ID changes. They missed cases where a subquery, WITH query, security invoker view, or SQL-language function references a table with a row-level security policy. This has the same consequences as the two earlier CVEs. That is to say, it leads to potentially incorrect policies being applied in cases where role-specific policies are used and a given query is planned under one role and then executed under other roles. This scenario can happen under security definer functions or when a common user and query is planned initially and then re-used across multiple SET ROLEs. Applying an incorrect policy may permit a user to complete otherwise-forbidden reads and modifications. This affects only databases that have used CREATE POLICY to define a row security policy. An attacker must tailor an attack to a particular application's pattern of query plan reuse, user ID changes, and role-specific row security policies. Versions before PostgreSQL 17.1, 16.5, 15.9, 14.14, 13.17, and 12.21 are affected.
SourceCVE (at NVD; CERT, LWN, oss-sec, fulldisc, Red Hat, Ubuntu, Gentoo, SUSE bugzilla/CVE, GitHub advisories/code/issues, web search, more)
ReferencesDSA-5812-1

Vulnerable and fixed packages

The table below lists information on source packages.

Source PackageReleaseVersionStatus
postgresql-13 (PTS)bullseye13.16-0+deb11u1vulnerable
bullseye (security)13.17-0+deb11u1vulnerable
postgresql-15 (PTS)bookworm15.8-0+deb12u1vulnerable
bookworm (security)15.9-0+deb12u1fixed
postgresql-16 (PTS)sid, trixie16.4-3vulnerable
postgresql-17 (PTS)trixie17.0-1vulnerable
sid17.1-1fixed

The information below is based on the following data on fixed versions.

PackageTypeReleaseFixed VersionUrgencyOriginDebian Bugs
postgresql-13source(unstable)(unfixed)
postgresql-15sourcebookworm15.9-0+deb12u1DSA-5812-1
postgresql-15source(unstable)(unfixed)
postgresql-16source(unstable)(unfixed)
postgresql-17source(unstable)17.1-1

Notes

https://www.postgresql.org/support/security/CVE-2024-10976/

Search for package or bug name: Reporting problems