CVE-2024-10976

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.
ProviderTypeBase ScoreAtk. VectorAtk. ComplexityPriv. RequiredVector
NISTNIST
4.2 MEDIUM
NETWORK
HIGH
LOW
CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:L/I:L/A:N
PostgreSQLCNA
4.2 MEDIUM
CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:L/I:L/A:N
CISA-ADPADP
---
---
CVEADP
---
---
Base Score
CVSS 3.x
EPSS Score
Percentile: 25%
VendorProductVersion
postgresqlpostgresql
12.0 ≤
𝑥
< 12.21
postgresqlpostgresql
13.0 ≤
𝑥
< 13.17
postgresqlpostgresql
14.0 ≤
𝑥
< 14.14
postgresqlpostgresql
15.0 ≤
𝑥
< 15.9
postgresqlpostgresql
16.0 ≤
𝑥
< 16.5
postgresqlpostgresql
17.0 ≤
𝑥
< 17.1
𝑥
= Vulnerable software versions
Debian logo
Debian Releases
Debian Product
Codename
postgresql-13
bullseye
vulnerable
bullseye (security)
13.21-0+deb11u1
fixed
postgresql-15
bookworm
15.13-0+deb12u1
fixed
bookworm (security)
15.10-0+deb12u1
fixed
postgresql-17
sid
17.5-1
fixed
trixie
17.5-1
fixed
Ubuntu logo
Ubuntu Releases
Ubuntu Product
Codename
postgresql-10
plucky
dne
oracular
dne
noble
dne
jammy
dne
focal
dne
bionic
needs-triage
postgresql-12
plucky
dne
oracular
dne
noble
dne
jammy
dne
focal
Fixed 12.22-0ubuntu0.20.04.1
released
postgresql-14
plucky
dne
oracular
dne
noble
dne
jammy
Fixed 14.15-0ubuntu0.22.04.1
released
focal
dne
postgresql-16
plucky
dne
oracular
Fixed 16.6-0ubuntu0.24.10.1
released
noble
Fixed 16.6-0ubuntu0.24.04.1
released
jammy
dne
focal
dne
postgresql-17
plucky
not-affected
oracular
dne
noble
dne
jammy
dne
focal
dne
postgresql-9.1
plucky
dne
oracular
dne
noble
dne
jammy
dne
focal
dne
postgresql-9.3
plucky
dne
oracular
dne
noble
dne
jammy
dne
focal
dne
trusty
deferred
postgresql-9.5
plucky
dne
oracular
dne
noble
dne
jammy
dne
focal
dne
xenial
Fixed 9.5.25-0ubuntu0.16.04.1+esm10
released