Incomplete 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.
{ "availability": "No subscription required", "ubuntu_priority": "medium", "binaries": [ { "binary_version": "12.22-0ubuntu0.20.04.1", "binary_name": "libecpg-compat3" }, { "binary_version": "12.22-0ubuntu0.20.04.1", "binary_name": "libecpg-compat3-dbgsym" }, { "binary_version": "12.22-0ubuntu0.20.04.1", "binary_name": "libecpg-dev" }, { "binary_version": "12.22-0ubuntu0.20.04.1", "binary_name": "libecpg-dev-dbgsym" }, { "binary_version": "12.22-0ubuntu0.20.04.1", "binary_name": "libecpg6" }, { "binary_version": "12.22-0ubuntu0.20.04.1", "binary_name": "libecpg6-dbgsym" }, { "binary_version": "12.22-0ubuntu0.20.04.1", "binary_name": "libpgtypes3" }, { "binary_version": "12.22-0ubuntu0.20.04.1", "binary_name": "libpgtypes3-dbgsym" }, { "binary_version": "12.22-0ubuntu0.20.04.1", "binary_name": "libpq-dev" }, { "binary_version": "12.22-0ubuntu0.20.04.1", "binary_name": "libpq5" }, { "binary_version": "12.22-0ubuntu0.20.04.1", "binary_name": "libpq5-dbgsym" }, { "binary_version": "12.22-0ubuntu0.20.04.1", "binary_name": "postgresql-12" }, { "binary_version": "12.22-0ubuntu0.20.04.1", "binary_name": "postgresql-12-dbgsym" }, { "binary_version": "12.22-0ubuntu0.20.04.1", "binary_name": "postgresql-client-12" }, { "binary_version": "12.22-0ubuntu0.20.04.1", "binary_name": "postgresql-client-12-dbgsym" }, { "binary_version": "12.22-0ubuntu0.20.04.1", "binary_name": "postgresql-doc-12" }, { "binary_version": "12.22-0ubuntu0.20.04.1", "binary_name": "postgresql-plperl-12" }, { "binary_version": "12.22-0ubuntu0.20.04.1", "binary_name": "postgresql-plperl-12-dbgsym" }, { "binary_version": "12.22-0ubuntu0.20.04.1", "binary_name": "postgresql-plpython3-12" }, { "binary_version": "12.22-0ubuntu0.20.04.1", "binary_name": "postgresql-plpython3-12-dbgsym" }, { "binary_version": "12.22-0ubuntu0.20.04.1", "binary_name": "postgresql-pltcl-12" }, { "binary_version": "12.22-0ubuntu0.20.04.1", "binary_name": "postgresql-pltcl-12-dbgsym" }, { "binary_version": "12.22-0ubuntu0.20.04.1", "binary_name": "postgresql-server-dev-12" } ] }
{ "availability": "No subscription required", "ubuntu_priority": "medium", "binaries": [ { "binary_version": "14.15-0ubuntu0.22.04.1", "binary_name": "libecpg-compat3" }, { "binary_version": "14.15-0ubuntu0.22.04.1", "binary_name": "libecpg-compat3-dbgsym" }, { "binary_version": "14.15-0ubuntu0.22.04.1", "binary_name": "libecpg-dev" }, { "binary_version": "14.15-0ubuntu0.22.04.1", "binary_name": "libecpg-dev-dbgsym" }, { "binary_version": "14.15-0ubuntu0.22.04.1", "binary_name": "libecpg6" }, { "binary_version": "14.15-0ubuntu0.22.04.1", "binary_name": "libecpg6-dbgsym" }, { "binary_version": "14.15-0ubuntu0.22.04.1", "binary_name": "libpgtypes3" }, { "binary_version": "14.15-0ubuntu0.22.04.1", "binary_name": "libpgtypes3-dbgsym" }, { "binary_version": "14.15-0ubuntu0.22.04.1", "binary_name": "libpq-dev" }, { "binary_version": "14.15-0ubuntu0.22.04.1", "binary_name": "libpq5" }, { "binary_version": "14.15-0ubuntu0.22.04.1", "binary_name": "libpq5-dbgsym" }, { "binary_version": "14.15-0ubuntu0.22.04.1", "binary_name": "postgresql-14" }, { "binary_version": "14.15-0ubuntu0.22.04.1", "binary_name": "postgresql-14-dbgsym" }, { "binary_version": "14.15-0ubuntu0.22.04.1", "binary_name": "postgresql-client-14" }, { "binary_version": "14.15-0ubuntu0.22.04.1", "binary_name": "postgresql-client-14-dbgsym" }, { "binary_version": "14.15-0ubuntu0.22.04.1", "binary_name": "postgresql-doc-14" }, { "binary_version": "14.15-0ubuntu0.22.04.1", "binary_name": "postgresql-plperl-14" }, { "binary_version": "14.15-0ubuntu0.22.04.1", "binary_name": "postgresql-plperl-14-dbgsym" }, { "binary_version": "14.15-0ubuntu0.22.04.1", "binary_name": "postgresql-plpython3-14" }, { "binary_version": "14.15-0ubuntu0.22.04.1", "binary_name": "postgresql-plpython3-14-dbgsym" }, { "binary_version": "14.15-0ubuntu0.22.04.1", "binary_name": "postgresql-pltcl-14" }, { "binary_version": "14.15-0ubuntu0.22.04.1", "binary_name": "postgresql-pltcl-14-dbgsym" }, { "binary_version": "14.15-0ubuntu0.22.04.1", "binary_name": "postgresql-server-dev-14" } ] }
{ "availability": "No subscription required", "ubuntu_priority": "medium", "binaries": [ { "binary_version": "16.6-0ubuntu0.24.10.1", "binary_name": "libecpg-compat3" }, { "binary_version": "16.6-0ubuntu0.24.10.1", "binary_name": "libecpg-compat3-dbgsym" }, { "binary_version": "16.6-0ubuntu0.24.10.1", "binary_name": "libecpg-dev" }, { "binary_version": "16.6-0ubuntu0.24.10.1", "binary_name": "libecpg-dev-dbgsym" }, { "binary_version": "16.6-0ubuntu0.24.10.1", "binary_name": "libecpg6" }, { "binary_version": "16.6-0ubuntu0.24.10.1", "binary_name": "libecpg6-dbgsym" }, { "binary_version": "16.6-0ubuntu0.24.10.1", "binary_name": "libpgtypes3" }, { "binary_version": "16.6-0ubuntu0.24.10.1", "binary_name": "libpgtypes3-dbgsym" }, { "binary_version": "16.6-0ubuntu0.24.10.1", "binary_name": "libpq-dev" }, { "binary_version": "16.6-0ubuntu0.24.10.1", "binary_name": "libpq5" }, { "binary_version": "16.6-0ubuntu0.24.10.1", "binary_name": "libpq5-dbgsym" }, { "binary_version": "16.6-0ubuntu0.24.10.1", "binary_name": "postgresql-16" }, { "binary_version": "16.6-0ubuntu0.24.10.1", "binary_name": "postgresql-16-dbgsym" }, { "binary_version": "16.6-0ubuntu0.24.10.1", "binary_name": "postgresql-client-16" }, { "binary_version": "16.6-0ubuntu0.24.10.1", "binary_name": "postgresql-client-16-dbgsym" }, { "binary_version": "16.6-0ubuntu0.24.10.1", "binary_name": "postgresql-doc-16" }, { "binary_version": "16.6-0ubuntu0.24.10.1", "binary_name": "postgresql-plperl-16" }, { "binary_version": "16.6-0ubuntu0.24.10.1", "binary_name": "postgresql-plperl-16-dbgsym" }, { "binary_version": "16.6-0ubuntu0.24.10.1", "binary_name": "postgresql-plpython3-16" }, { "binary_version": "16.6-0ubuntu0.24.10.1", "binary_name": "postgresql-plpython3-16-dbgsym" }, { "binary_version": "16.6-0ubuntu0.24.10.1", "binary_name": "postgresql-pltcl-16" }, { "binary_version": "16.6-0ubuntu0.24.10.1", "binary_name": "postgresql-pltcl-16-dbgsym" }, { "binary_version": "16.6-0ubuntu0.24.10.1", "binary_name": "postgresql-server-dev-16" } ] }
{ "availability": "No subscription required", "ubuntu_priority": "medium", "binaries": [ { "binary_version": "16.6-0ubuntu0.24.04.1", "binary_name": "libecpg-compat3" }, { "binary_version": "16.6-0ubuntu0.24.04.1", "binary_name": "libecpg-compat3-dbgsym" }, { "binary_version": "16.6-0ubuntu0.24.04.1", "binary_name": "libecpg-dev" }, { "binary_version": "16.6-0ubuntu0.24.04.1", "binary_name": "libecpg-dev-dbgsym" }, { "binary_version": "16.6-0ubuntu0.24.04.1", "binary_name": "libecpg6" }, { "binary_version": "16.6-0ubuntu0.24.04.1", "binary_name": "libecpg6-dbgsym" }, { "binary_version": "16.6-0ubuntu0.24.04.1", "binary_name": "libpgtypes3" }, { "binary_version": "16.6-0ubuntu0.24.04.1", "binary_name": "libpgtypes3-dbgsym" }, { "binary_version": "16.6-0ubuntu0.24.04.1", "binary_name": "libpq-dev" }, { "binary_version": "16.6-0ubuntu0.24.04.1", "binary_name": "libpq5" }, { "binary_version": "16.6-0ubuntu0.24.04.1", "binary_name": "libpq5-dbgsym" }, { "binary_version": "16.6-0ubuntu0.24.04.1", "binary_name": "postgresql-16" }, { "binary_version": "16.6-0ubuntu0.24.04.1", "binary_name": "postgresql-16-dbgsym" }, { "binary_version": "16.6-0ubuntu0.24.04.1", "binary_name": "postgresql-client-16" }, { "binary_version": "16.6-0ubuntu0.24.04.1", "binary_name": "postgresql-client-16-dbgsym" }, { "binary_version": "16.6-0ubuntu0.24.04.1", "binary_name": "postgresql-doc-16" }, { "binary_version": "16.6-0ubuntu0.24.04.1", "binary_name": "postgresql-plperl-16" }, { "binary_version": "16.6-0ubuntu0.24.04.1", "binary_name": "postgresql-plperl-16-dbgsym" }, { "binary_version": "16.6-0ubuntu0.24.04.1", "binary_name": "postgresql-plpython3-16" }, { "binary_version": "16.6-0ubuntu0.24.04.1", "binary_name": "postgresql-plpython3-16-dbgsym" }, { "binary_version": "16.6-0ubuntu0.24.04.1", "binary_name": "postgresql-pltcl-16" }, { "binary_version": "16.6-0ubuntu0.24.04.1", "binary_name": "postgresql-pltcl-16-dbgsym" }, { "binary_version": "16.6-0ubuntu0.24.04.1", "binary_name": "postgresql-server-dev-16" } ] }