PostgreSQL row security below e.g. subqueries disregards user ID changes
Key facts
- Attack vector
- Network
- Privileges required
- Low
- User interaction
- None
- Attack complexity
- Low
- Impact type
- —
- Confidentiality · integrity · availability
- Low · Low · None
- Fix status
- Partial Red Hat: 3 fixed, 1 without a fix
Attack profile from CVSS 3.1 · NVD. Fix status from CNA and Red Hat.
Summary
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.
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- None
- Automatable
- No
- Technical impact
- Partial
The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.
Affected products
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| — | PostgreSQL | 17 to before 17.1; 16 to before 16.5; 15 to before 15.9; 14 to before 14.14; 13 to before 13.17; before 12.21 | 17.1, 16.5, 15.9, 14.14, 13.17, 12.21 | Patch available | CNA |
- PostgreSQL Vendor— Affected 17 to before 17.1; 16 to before 16.5; 15 to before 15.9; 14 to before 14.14; 13 to before 13.17; before 12.21 Fixed in 17.1, 16.5, 15.9, 14.14, 13.17, 12.21 Patch available CNA
CPE configurations NVD · 1
| CPE | Versions | Role | Vendor |
|---|---|---|---|
| cpe:2.3:a:postgresql:postgresql:*:*:*:*:*:*:*:* | 12.0 to before 12.21; 13.0 to before 13.17; 14.0 to before 14.14; 15.0 to before 15.9; 16.0 to before 16.5; 17.0 to before 17.1 | Vulnerable | PostgreSQL |
- cpe:2.3:a:postgresql:postgresql:*:*:*:*:*:*:*:* Versions 12.0 to before 12.21; 13.0 to before 13.17; 14.0 to before 14.14; 15.0 to before 15.9; 16.0 to before 16.5; 17.0 to before 17.1 Vulnerable ·PostgreSQL
Remediation
- Fix · CNA PostgreSQL Fixed in 17.1, 16.5, 15.9, 14.14, 13.17, 12.21
Red Hat 7 advisories
- RHSA-2024:10831 Released 2024-12-05 · Red Hat rating Importantpostgresql:16 security update
- Red Hat Enterprise Linux AppStream (v. 8) pg_repack-1.5.1-1.module+el8.10.0+22551+c0330dc9.aarch64::postgresql:16, pg_repack-1.5.1-1.module+el8.10.0+22551+c0330dc9.ppc64le::postgresql:16, pg_repack-1.5.1-1.module+el8.10.0+22551+c0330dc9.s390x::postgresql:16 +47
- RHSA-2024:10832 Released 2024-12-05 · Red Hat rating Importantpostgresql:13 security update
- Red Hat Enterprise Linux AppStream (v. 8) pg_repack-1.4.6-3.module+el8.9.0+20664+9c30cf7f.aarch64::postgresql:13, pg_repack-1.4.6-3.module+el8.9.0+20664+9c30cf7f.ppc64le::postgresql:13, pg_repack-1.4.6-3.module+el8.9.0+20664+9c30cf7f.s390x::postgresql:13 +47
- RHSA-2024:10830 Released 2024-12-05 · Red Hat rating Importantpostgresql:15 security update
- Red Hat Enterprise Linux AppStream (v. 8) pg_repack-1.4.8-1.module+el8.9.0+19797+c4ce5969.aarch64::postgresql:15, pg_repack-1.4.8-1.module+el8.9.0+19797+c4ce5969.ppc64le::postgresql:15, pg_repack-1.4.8-1.module+el8.9.0+19797+c4ce5969.s390x::postgresql:15 +47
Show 4 more Red Hat advisories
- RHSA-2024:10791 Released 2024-12-04 · Red Hat rating Importantpostgresql security update
- Red Hat CodeReady Linux Builder (v. 9) postgresql-docs-13.18-1.el9_5, postgresql-private-devel-13.18-1.el9_5, postgresql-server-devel-13.18-1.el9_5 +4
- Red Hat Enterprise Linux AppStream (v. 9) postgresql-13.18-1.el9_5, postgresql-contrib-13.18-1.el9_5, postgresql-plperl-13.18-1.el9_5 +5
- RHSA-2024:10788 Released 2024-12-04 · Red Hat rating Importantpostgresql:16 security update
- Red Hat Enterprise Linux AppStream (v. 9) pg_repack-1.5.1-1.module+el9.5.0+22557+8cb08ba5.aarch64::postgresql:16, pg_repack-1.5.1-1.module+el9.5.0+22557+8cb08ba5.ppc64le::postgresql:16, pg_repack-1.5.1-1.module+el9.5.0+22557+8cb08ba5.s390x::postgresql:16 +47
- RHSA-2024:10787 Released 2024-12-04 · Red Hat rating Importantpostgresql:15 security update
- Red Hat Enterprise Linux AppStream (v. 9) pg_repack-1.4.8-2.module+el9.5.0+22224+f5585c78.aarch64::postgresql:15, pg_repack-1.4.8-2.module+el9.5.0+22224+f5585c78.ppc64le::postgresql:15, pg_repack-1.4.8-2.module+el9.5.0+22224+f5585c78.s390x::postgresql:15 +47
- RHSA-2024:10785 Released 2024-12-04 · Red Hat rating Importantpostgresql:12 security update
- Red Hat Enterprise Linux AppStream (v. 8) pg_repack-1.4.6-3.module+el8.9.0+19330+c97ddbdf.aarch64::postgresql:12, pg_repack-1.4.6-3.module+el8.9.0+19330+c97ddbdf.ppc64le::postgresql:12, pg_repack-1.4.6-3.module+el8.9.0+19330+c97ddbdf.s390x::postgresql:12 +47
Fixed in the same release
Records fixed by the same vendor advisory or release, as the CNA lists them.
- Release ·
PostgreSQL 12.21, 13.17 and 4 more versions
4 records Highest priority Priority MEDIUM 1 MEDIUM, 3 LOW
Other records, highest priority first
- TI-2024-10177 PostgreSQL PL/Perl environment variable changes execute arbitrary codePriority MEDIUM 47
- TI-2024-10176 PostgreSQL SET ROLE, SET SESSION AUTHORIZATION reset to wrong user IDPriority LOW 21
- TI-2024-10175 PostgreSQL libpq retains an error message from man-in-the-middlePriority LOW 18
Vendor assessments
Red Hat
Red Hat rating: Moderate. Red Hat's page for this CVE →
| Product | Status | Plan or fix |
|---|---|---|
| Red Hat Enterprise Linux 7 | Affected | No fix planned: Out of support scope |
| Red Hat CodeReady Linux Builder (v. 9) | Fixed | RHSA-2024:10791 |
| Red Hat Enterprise Linux AppStream (v. 8) | Fixed | RHSA-2024:10785, RHSA-2024:10830, RHSA-2024:10831, RHSA-2024:10832 |
| Red Hat Enterprise Linux AppStream (v. 9) | Fixed | RHSA-2024:10787, RHSA-2024:10788, RHSA-2024:10791 |
Timeline
- 2026-10-02 Threatist record created from CVE-2024-10976
- 2026-10-03 Alias added: GHSA-9cv8-8vgq-fg45
References
More Postgresql vulnerabilities
- TI-2019-06651 In PostgreSQL 9.3 through 11.2, the "COPY TO/FROM PROGRAM" function allows superusers and… CVSS 3.0HIGH 7.2
- TI-2017-05187 Improper authentication in postgresql CVSS 3.0CRITICAL 9.8
- TI-2020-15711 SQL injection in postgresql CVSS 3.1HIGH 8.8
- TI-2013-01675 Argument injection vulnerability in PostgreSQL 9.2.x before 9.2.4, 9.1.x before 9.1.9… CVSS 2.0MEDIUM 6.5
- TI-2007-03176 The Database Link library (dblink) in PostgreSQL 8.1 implements functions via CREATE… CVSS 2.0HIGH 9.0
- TI-2022-01423 SQL injection in postgresql CVSS 3.1HIGH 8.8
Sources
- CVE-2024-10976 · CVE Program
- CVE-2024-10976 · NVD
- FIRST EPSS
- GHSA-9cv8-8vgq-fg45 · GitHub Advisory Database · CC BY 4.0
- CVE-2024-10976 · Red Hat security data · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences