CVE-2024-10978

MEDIUM
Published Nov 14, 2024 Modified Nov 3, 2025 CWE-266

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.

Is your site exposed to CVE-2024-10978?

Run a free security scan — no signup, results in seconds.

CVSS v3.1 Score

4.2
MEDIUM
CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:L/I:L/A:N

Weakness Type (CWE)

CWE-266 CWE-266

Affected Products

Vendor Product
postgresql postgresql
postgresql postgresql
postgresql postgresql
postgresql postgresql
postgresql postgresql
postgresql postgresql
postgresql postgresql
postgresql postgresql
postgresql postgresql
postgresql postgresql
debian debian_linux

References

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. It has a CVSS v3.1 base score of 4.2 (MEDIUM).
How severe is CVE-2024-10978? +
CVE-2024-10978 has a CVSS v3.1 score of 4.2 out of 10, rated MEDIUM. This is a medium-severity vulnerability that should be remediated as part of regular maintenance.
What products are affected by CVE-2024-10978? +
CVE-2024-10978 affects products from debian, postgresql, specifically: debian_linux, postgresql. Check the affected products table above for specific version ranges.
How do I check if I'm vulnerable to CVE-2024-10978? +
You can use Secably's free Website Scanner to check your website for known vulnerabilities. For infrastructure scanning, use the Port Scanner to identify exposed services that may be affected. Check the vendor advisories linked above for specific patch and version information.

Related Vulnerabilities

Don't wait for an exploit

Scan your website for vulnerabilities like CVE-2024-10978 — free, no signup required.