CVE-2024-10978
CVE-2024-10978 is a medium-severity vulnerability in Postgresql with a CVSS 3.x base score of 4.2. It is not currently listed as actively exploited by CISA, and its EPSS exploit-prediction score is low. The underlying weakness is classified as CWE-266.
Key facts
- Severity: Medium (CVSS 3.x base score 4.2)
- EPSS exploit prediction: 1% (49th percentile)
- Actively exploited: Not listed in CISA KEV
- EU (EUVD) id: EUVD-2024-33376
- Weakness: CWE-266
- Affected product: Postgresql
- Published:
- Last modified:
Description
Incorrect privilege assignment in PostgreSQL allows a less-privileged application user to view or change different rows from those intended. An attack requires the application to use SET ROLE, SET SESSION AUTHORIZATION, or an equivalent feature. The problem arises when an application query uses parameters from the attacker or conveys query results to the attacker. If that query reacts to current_setting('role') or the current user ID, it may modify or return data as though the session had not used SET ROLE or SET SESSION AUTHORIZATION. The attacker does not control which incorrect user ID applies. Query text from less-privileged sources is not a concern here, because SET ROLE and SET SESSION AUTHORIZATION are not sandboxes for unvetted queries. Versions before PostgreSQL 17.1, 16.5, 15.9, 14.14, 13.17, and 12.21 are affected.
Frequently asked questions
- What is CVE-2024-10978?
- Incorrect privilege assignment in PostgreSQL allows a less-privileged application user to view or change different rows from those intended. An attack requires the application to use SET ROLE, SET SESSION AUTHORIZATION, or an equivalent feature. The problem arises when an application query uses parameters from the attacker or conveys query results to the attacker. If that query reacts to current_setting('role') or the current user ID, it may modify or return data as though the session had not used SET ROLE or SET SESSION AUTHORIZATION. The attacker does not control which incorrect user ID applies. Query text from less-privileged sources is not a concern here, because SET ROLE and SET SESSION AUTHORIZATION are not sandboxes for unvetted queries. Versions before PostgreSQL 17.1, 16.5, 15.9, 14.14, 13.17, and 12.21 are affected.
- How severe is CVE-2024-10978?
- CVE-2024-10978 has a CVSS 3.x base score of 4.2, rated medium severity. It is exploitable over network with high attack complexity, requires low privileges and no user interaction. Impact on confidentiality is low, integrity low, and availability none.
- Is CVE-2024-10978 being actively exploited?
- It is not currently listed in CISA's KEV catalog. Its EPSS exploit-prediction score is 1% (49th percentile), an estimate of the probability of exploitation in the next 30 days.
- What products are affected by CVE-2024-10978?
- CVE-2024-10978 primarily affects Postgresql. In total, 7 product configurations (CPEs) are listed as vulnerable; see the affected-products list for the exact versions.
- How do I fix CVE-2024-10978?
- Review the linked vendor and NVD advisories for patched versions and mitigations, then upgrade or apply the recommended workaround.
- Does CVE-2024-10978 have an EU (EUVD) identifier?
- Yes. CVE-2024-10978 is tracked in the ENISA EU Vulnerability Database (EUVD) as EUVD-2024-33376.
- When was CVE-2024-10978 published?
- CVE-2024-10978 was published on 2024-11-14 and last updated on 2026-06-17.
References
- https://www.postgresql.org/support/security/CVE-2024-10978/
- https://lists.debian.org/debian-lts-announce/2024/11/msg00011.html
- https://lists.debian.org/debian-lts-announce/2024/11/msg00018.html
- https://www.postgresql.org/message-id/173171334532.1547978.1518068370217143844%40wrigleys.postgresql.org
Affected products (7)
- cpe:2.3:a:postgresql:postgresql:*:*:*:*:*:*:*:*
- cpe:2.3:a:postgresql:postgresql:17.0:-:*:*:*:*:*:*
- cpe:2.3:a:postgresql:postgresql:17.0:beta1:*:*:*:*:*:*
- cpe:2.3:a:postgresql:postgresql:17.0:beta2:*:*:*:*:*:*
- cpe:2.3:a:postgresql:postgresql:17.0:beta3:*:*:*:*:*:*
- cpe:2.3:a:postgresql:postgresql:17.0:rc1:*:*:*:*:*:*
- cpe:2.3:o:debian:debian_linux:11.0:*:*:*:*:*:*:*
More vulnerabilities in Postgresql
- CVE-2013-1903 — Critical (CVSS 10.0): PostgreSQL, possibly 9.2.x before 9.2.4, 9.1.x before 9.1.9, 9.0.x before 9.0.13, 8.4.x before 8.4.17, and 8.3.x before…
- CVE-2013-1902 — Critical (CVSS 10.0): PostgreSQL, 9.2.x before 9.2.4, 9.1.x before 9.1.9, 9.0.x before 9.0.13, 8.4.x before 8.4.17, and 8.3.x before 8.3.23…
- CVE-2007-3279 — Critical (CVSS 10.0): PostgreSQL 8.1 and probably later versions, when the PL/pgSQL (plpgsql) language has been created, grants certain…
- CVE-2002-1399 — Critical (CVSS 10.0): Unknown vulnerability in cash_out and possibly other functions in PostgreSQL 7.2.1 and earlier, and possibly later…
- CVE-2015-0244 — Critical (CVSS 9.8): PostgreSQL before 9.0.19, 9.1.x before 9.1.15, 9.2.x before 9.2.10, 9.3.x before 9.3.6, and 9.4.x before 9.4.1 does not…
- CVE-2015-3166 — Critical (CVSS 9.8): The snprintf implementation in PostgreSQL before 9.0.20, 9.1.x before 9.1.16, 9.2.x before 9.2.11, 9.3.x before 9.3.7,…
All CVEs affecting Postgresql →
Other CWE-266 (Incorrect Privilege Assignment) vulnerabilities
- CVE-2026-23800 — Critical (CVSS 10.0): Incorrect Privilege Assignment vulnerability in Modular DS modular-connector allows Privilege Escalation.This issue…
- CVE-2025-41115 — Critical (CVSS 10.0): SCIM provisioning was introduced in Grafana Enterprise and Grafana Cloud in April to improve how organizations manage…
- CVE-2024-9479 — Critical (CVSS 10.0): Improper Privilege Management vulnerability in upKeeper Solutions upKeeper Instant Privilege Access allows Privilege…
- CVE-2024-9478 — Critical (CVSS 10.0): Improper Privilege Management vulnerability in upKeeper Solutions upKeeper Instant Privilege Access allows Privilege…
- CVE-2026-42368 — Critical (CVSS 9.9): A privilege escalation vulnerability exists in the Web Interface functionality of GeoVision LPC2011/LPC2211 1.10. A…
- CVE-2026-32922 — Critical (CVSS 9.9): OpenClaw before 2026.3.11 contains a privilege escalation vulnerability in device.token.rotate that allows callers with…
Browse all CWE-266 (Incorrect Privilege Assignment) vulnerabilities →