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.
{
"binaries": [
{
"binary_name": "libecpg-compat3",
"binary_version": "12.22-0ubuntu0.20.04.1"
},
{
"binary_name": "libecpg-dev",
"binary_version": "12.22-0ubuntu0.20.04.1"
},
{
"binary_name": "libecpg6",
"binary_version": "12.22-0ubuntu0.20.04.1"
},
{
"binary_name": "libpgtypes3",
"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": "postgresql-12",
"binary_version": "12.22-0ubuntu0.20.04.1"
},
{
"binary_name": "postgresql-client-12",
"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-plpython3-12",
"binary_version": "12.22-0ubuntu0.20.04.1"
},
{
"binary_name": "postgresql-pltcl-12",
"binary_version": "12.22-0ubuntu0.20.04.1"
},
{
"binary_name": "postgresql-server-dev-12",
"binary_version": "12.22-0ubuntu0.20.04.1"
}
],
"availability": "No subscription required"
}{
"binaries": [
{
"binary_name": "libecpg-compat3",
"binary_version": "14.15-0ubuntu0.22.04.1"
},
{
"binary_name": "libecpg-dev",
"binary_version": "14.15-0ubuntu0.22.04.1"
},
{
"binary_name": "libecpg6",
"binary_version": "14.15-0ubuntu0.22.04.1"
},
{
"binary_name": "libpgtypes3",
"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": "postgresql-14",
"binary_version": "14.15-0ubuntu0.22.04.1"
},
{
"binary_name": "postgresql-client-14",
"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-plpython3-14",
"binary_version": "14.15-0ubuntu0.22.04.1"
},
{
"binary_name": "postgresql-pltcl-14",
"binary_version": "14.15-0ubuntu0.22.04.1"
},
{
"binary_name": "postgresql-server-dev-14",
"binary_version": "14.15-0ubuntu0.22.04.1"
}
],
"availability": "No subscription required"
}{
"binaries": [
{
"binary_name": "libecpg-compat3",
"binary_version": "16.6-0ubuntu0.24.04.1"
},
{
"binary_name": "libecpg-dev",
"binary_version": "16.6-0ubuntu0.24.04.1"
},
{
"binary_name": "libecpg6",
"binary_version": "16.6-0ubuntu0.24.04.1"
},
{
"binary_name": "libpgtypes3",
"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": "postgresql-16",
"binary_version": "16.6-0ubuntu0.24.04.1"
},
{
"binary_name": "postgresql-client-16",
"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-plpython3-16",
"binary_version": "16.6-0ubuntu0.24.04.1"
},
{
"binary_name": "postgresql-pltcl-16",
"binary_version": "16.6-0ubuntu0.24.04.1"
},
{
"binary_name": "postgresql-server-dev-16",
"binary_version": "16.6-0ubuntu0.24.04.1"
}
],
"availability": "No subscription required"
}{
"binaries": [
{
"binary_name": "libecpg-compat3",
"binary_version": "9.3.24-0ubuntu0.14.04+esm1"
},
{
"binary_name": "libecpg-dev",
"binary_version": "9.3.24-0ubuntu0.14.04+esm1"
},
{
"binary_name": "libecpg6",
"binary_version": "9.3.24-0ubuntu0.14.04+esm1"
},
{
"binary_name": "libpgtypes3",
"binary_version": "9.3.24-0ubuntu0.14.04+esm1"
},
{
"binary_name": "libpq-dev",
"binary_version": "9.3.24-0ubuntu0.14.04+esm1"
},
{
"binary_name": "libpq5",
"binary_version": "9.3.24-0ubuntu0.14.04+esm1"
},
{
"binary_name": "postgresql-9.3",
"binary_version": "9.3.24-0ubuntu0.14.04+esm1"
},
{
"binary_name": "postgresql-client-9.3",
"binary_version": "9.3.24-0ubuntu0.14.04+esm1"
},
{
"binary_name": "postgresql-contrib-9.3",
"binary_version": "9.3.24-0ubuntu0.14.04+esm1"
},
{
"binary_name": "postgresql-doc-9.3",
"binary_version": "9.3.24-0ubuntu0.14.04+esm1"
},
{
"binary_name": "postgresql-plperl-9.3",
"binary_version": "9.3.24-0ubuntu0.14.04+esm1"
},
{
"binary_name": "postgresql-plpython-9.3",
"binary_version": "9.3.24-0ubuntu0.14.04+esm1"
},
{
"binary_name": "postgresql-plpython3-9.3",
"binary_version": "9.3.24-0ubuntu0.14.04+esm1"
},
{
"binary_name": "postgresql-pltcl-9.3",
"binary_version": "9.3.24-0ubuntu0.14.04+esm1"
},
{
"binary_name": "postgresql-server-dev-9.3",
"binary_version": "9.3.24-0ubuntu0.14.04+esm1"
}
]
}{
"binaries": [
{
"binary_name": "libecpg-compat3",
"binary_version": "9.5.25-0ubuntu0.16.04.1+esm10"
},
{
"binary_name": "libecpg-dev",
"binary_version": "9.5.25-0ubuntu0.16.04.1+esm10"
},
{
"binary_name": "libecpg6",
"binary_version": "9.5.25-0ubuntu0.16.04.1+esm10"
},
{
"binary_name": "libpgtypes3",
"binary_version": "9.5.25-0ubuntu0.16.04.1+esm10"
},
{
"binary_name": "libpq-dev",
"binary_version": "9.5.25-0ubuntu0.16.04.1+esm10"
},
{
"binary_name": "libpq5",
"binary_version": "9.5.25-0ubuntu0.16.04.1+esm10"
},
{
"binary_name": "postgresql-9.5",
"binary_version": "9.5.25-0ubuntu0.16.04.1+esm10"
},
{
"binary_name": "postgresql-client-9.5",
"binary_version": "9.5.25-0ubuntu0.16.04.1+esm10"
},
{
"binary_name": "postgresql-contrib-9.5",
"binary_version": "9.5.25-0ubuntu0.16.04.1+esm10"
},
{
"binary_name": "postgresql-doc-9.5",
"binary_version": "9.5.25-0ubuntu0.16.04.1+esm10"
},
{
"binary_name": "postgresql-plperl-9.5",
"binary_version": "9.5.25-0ubuntu0.16.04.1+esm10"
},
{
"binary_name": "postgresql-plpython-9.5",
"binary_version": "9.5.25-0ubuntu0.16.04.1+esm10"
},
{
"binary_name": "postgresql-plpython3-9.5",
"binary_version": "9.5.25-0ubuntu0.16.04.1+esm10"
},
{
"binary_name": "postgresql-pltcl-9.5",
"binary_version": "9.5.25-0ubuntu0.16.04.1+esm10"
},
{
"binary_name": "postgresql-server-dev-9.5",
"binary_version": "9.5.25-0ubuntu0.16.04.1+esm10"
}
],
"availability": "Available with Ubuntu Pro (Infra-only): https://ubuntu.com/pro"
}{
"binaries": [
{
"binary_name": "libecpg-compat3",
"binary_version": "10.23-0ubuntu0.18.04.2+esm3"
},
{
"binary_name": "libecpg-dev",
"binary_version": "10.23-0ubuntu0.18.04.2+esm3"
},
{
"binary_name": "libecpg6",
"binary_version": "10.23-0ubuntu0.18.04.2+esm3"
},
{
"binary_name": "libpgtypes3",
"binary_version": "10.23-0ubuntu0.18.04.2+esm3"
},
{
"binary_name": "libpq-dev",
"binary_version": "10.23-0ubuntu0.18.04.2+esm3"
},
{
"binary_name": "libpq5",
"binary_version": "10.23-0ubuntu0.18.04.2+esm3"
},
{
"binary_name": "postgresql-10",
"binary_version": "10.23-0ubuntu0.18.04.2+esm3"
},
{
"binary_name": "postgresql-client-10",
"binary_version": "10.23-0ubuntu0.18.04.2+esm3"
},
{
"binary_name": "postgresql-doc-10",
"binary_version": "10.23-0ubuntu0.18.04.2+esm3"
},
{
"binary_name": "postgresql-plperl-10",
"binary_version": "10.23-0ubuntu0.18.04.2+esm3"
},
{
"binary_name": "postgresql-plpython-10",
"binary_version": "10.23-0ubuntu0.18.04.2+esm3"
},
{
"binary_name": "postgresql-plpython3-10",
"binary_version": "10.23-0ubuntu0.18.04.2+esm3"
},
{
"binary_name": "postgresql-pltcl-10",
"binary_version": "10.23-0ubuntu0.18.04.2+esm3"
},
{
"binary_name": "postgresql-server-dev-10",
"binary_version": "10.23-0ubuntu0.18.04.2+esm3"
}
]
}