CVE-2024-10976
published 2024-11-14CVE-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…
PriorityP430medium5.4CVSS 3.1
AVNACLPRLUINSUCLILAN
EPSS
0.79%
52.1th percentile
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.
Affected
13 ranges
| Vendor | Product | Version range | Fixed in |
|---|---|---|---|
| debian | postgresql-13 | < postgresql-13 13.17-0+deb11u1 (bullseye) | postgresql-13 13.17-0+deb11u1 (bullseye) |
| debian | postgresql-15 | < postgresql-13 13.17-0+deb11u1 (bullseye) | postgresql-13 13.17-0+deb11u1 (bullseye) |
| debian | postgresql-17 | < postgresql-13 13.17-0+deb11u1 (bullseye) | postgresql-13 13.17-0+deb11u1 (bullseye) |
| msrc | azl3_postgresql_16.4-2_on_azure_linux_3.0 | — | — |
| msrc | azl3_postgresql_16.5-1_on_azure_linux_3.0 | — | — |
| msrc | cbl2_postgresql_14.13-1_on_cbl_mariner_2.0 | — | — |
| msrc | cbl2_postgresql_14.14-1_on_cbl_mariner_2.0 | — | — |
| postgresql | postgresql | >= 12.0 < 12.21 | 12.21 |
| postgresql | postgresql | >= 13.0 < 13.17 | 13.17 |
| postgresql | postgresql | >= 14.0 < 14.14 | 14.14 |
| postgresql | postgresql | >= 15.0 < 15.9 | 15.9 |
| postgresql | postgresql | >= 16.0 < 16.5 | 16.5 |
| postgresql | postgresql | >= 17.0 < 17.1 | 17.1 |
CVSS provenance
nvdv3.15.4MEDIUMCVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:N
osv7.5HIGH
vendor_debian7.5HIGH
vendor_redhat7.5HIGH
vendor_msrc5.4MEDIUM
vendor_ubuntu4.2MEDIUM
Stop checking back — get the weekly exploitation signal.
Every Monday: what got weaponized or added to CISA KEV in the last seven days — each CVE cross-linked to its PoC, Nuclei template, and detection rule. Free, one email a week, unsubscribe in one click.
Ubuntu
PostgreSQL vulnerabilities
vendor_ubuntu·2025-03-19·CVSS 4.2
CVE-2024-10976 [MEDIUM] PostgreSQL vulnerabilities
Title: PostgreSQL vulnerabilities
Summary: Several security issues were fixed in PostgreSQL.
Wolfgang Walther discovered that PostgreSQL incorrectly tracked tables with
row security. A remote attacker could possibly use this issue to perform
forbidden reads and modifications. (CVE-2024-10976)
Jacob Champion discovered that PostgreSQL clients used untrusted server
error messages. An attacker that is able to intercept network
communications could possibly use this issue to inject error messages that
could be interpreted as valid query results. (CVE-2024-10977)
Tom Lane discovered that PostgreSQL incorrectly handled certain privilege
assignments. A remote attacker could possibly use this issue to view or
change different rows from those intended. (CVE-2024-10978)
Coby Abrams discovered t
Ubuntu
PostgreSQL vulnerabilities
vendor_ubuntu·2024-12-02·CVSS 4.2
CVE-2024-10978 [MEDIUM] PostgreSQL vulnerabilities
Title: PostgreSQL vulnerabilities
Summary: Several security issues were fixed in PostgreSQL.
It was discovered that PostgreSQL incorrectly tracked tables with row
security. A remote attacker could possibly use this issue to perform
forbidden reads and modifications. (CVE-2024-10976)
Jacob Champion discovered that PostgreSQL clients used untrusted server
error messages. An attacker that is able to intercept network
communications could possibly use this issue to inject error messages that
could be interpreted as valid query results. (CVE-2024-10977)
Tom Lane discovered that PostgreSQL incorrectly handled certain privilege
assignments. A remote attacker could possibly use this issue to view or
change different rows from those intended. (CVE-2024-10978)
Coby Abrams discovered that Postgr
Red Hat
postgresql: PostgreSQL row security below e.g. subqueries disregards user ID changes
vendor_redhat·2024-11-14·CVSS 7.5
CVE-2024-10976 [HIGH] CWE-1250 postgresql: PostgreSQL row security below e.g. subqueries disregards user ID changes
postgresql: PostgreSQL row security below e.g. subqueries disregards user ID changes
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 commo
Microsoft
PostgreSQL row security below e.g. subqueries disregards user ID changes
vendor_msrc·2024-11-12·CVSS 5.4
CVE-2024-10976 [MEDIUM] CWE-1250 PostgreSQL row security below e.g. subqueries disregards user ID changes
PostgreSQL row security below e.g. subqueries disregards user ID changes
FAQ: Is Azure Linux the only Microsoft product that includes this open-source library and is therefore potentially affected by this vulnerability?
One of the main benefits to our customers who choose to use the Azure Linux distro is the commitment to keep it up to date with the most recent and most secure versions of the open source libraries with which the distro is composed. Microsoft is committed to transparency in this work which is why we began publishing CSAF/VEX in October 2025. See this blog post for more information. If impact to additional products is identified, we will update the CVE to reflect this.
Mariner: Mariner
PostgreSQL: PostgreSQL
Customer Action Required: Yes
Remediation: CBL-Mariner Release
Debian
CVE-2024-10976: postgresql-13 - Incomplete tracking in PostgreSQL of tables with row security allows a reused qu...
vendor_debian·2024·CVSS 7.5
CVE-2024-10976 [HIGH] CVE-2024-10976: postgresql-13 - Incomplete tracking in PostgreSQL of tables with row security allows a reused qu...
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. Appl
OSV
postgresql-9.5 vulnerabilities
osv·2025-03-19·CVSS 5.4
CVE-2024-10976 [MEDIUM] postgresql-9.5 vulnerabilities
postgresql-9.5 vulnerabilities
Wolfgang Walther discovered that PostgreSQL incorrectly tracked tables with
row security. A remote attacker could possibly use this issue to perform
forbidden reads and modifications. (CVE-2024-10976)
Jacob Champion discovered that PostgreSQL clients used untrusted server
error messages. An attacker that is able to intercept network
communications could possibly use this issue to inject error messages that
could be interpreted as valid query results. (CVE-2024-10977)
Tom Lane discovered that PostgreSQL incorrectly handled certain privilege
assignments. A remote attacker could possibly use this issue to view or
change different rows from those intended. (CVE-2024-10978)
Coby Abrams discovered that PostgreSQL incorrectly handled environment
variables. A rem
OSV
postgresql-12, postgresql-14, postgresql-16 vulnerabilities
osv·2024-12-02·CVSS 5.4
CVE-2024-10976 [MEDIUM] postgresql-12, postgresql-14, postgresql-16 vulnerabilities
postgresql-12, postgresql-14, postgresql-16 vulnerabilities
It was discovered that PostgreSQL incorrectly tracked tables with row
security. A remote attacker could possibly use this issue to perform
forbidden reads and modifications. (CVE-2024-10976)
Jacob Champion discovered that PostgreSQL clients used untrusted server
error messages. An attacker that is able to intercept network
communications could possibly use this issue to inject error messages that
could be interpreted as valid query results. (CVE-2024-10977)
Tom Lane discovered that PostgreSQL incorrectly handled certain privilege
assignments. A remote attacker could possibly use this issue to view or
change different rows from those intended. (CVE-2024-10978)
Coby Abrams discovered that PostgreSQL incorrectly handled environme
GHSA
GHSA-9cv8-8vgq-fg45: Incomplete tracking in PostgreSQL of tables with row security allows a reused query to view or change different rows from those intended
ghsa_unreviewed·2024-11-14·CVSS 7.5
CVE-2024-10976 [HIGH] CWE-1250 GHSA-9cv8-8vgq-fg45: Incomplete tracking in PostgreSQL of tables with row security allows a reused query to view or change different rows from those intended
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. Appl
OSV
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
osv·2024-11-14·CVSS 7.5
CVE-2024-10976 [HIGH] 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
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. Appl
No detection rules found.
No public exploits indexed.
2024-11-14
Published