CVE-2026-9617: PostgreSQL Anonymizer: malicious column name allows SQL injection via anon.k_anonymity() function
PostgreSQL Anonymizer contains a vulnerability that allows a user to gain superuser privileges by creating a table and placing malicious code inside a column identifier. If a superuser calls the k-anonymity function, the malicious code is executed with superuser privileges. The risk is higher with PostgreSQL 14 or with instances upgraded from PostgreSQL 14 or a prior version. With PostgreSQL 15 and later, the creation permission on the public schema is revoked by default and this exploit can only be achieved by a user who was explicitly granted the CREATE TABLE privilege. The problem is resolved in PostgreSQL Anonymizer 3.1.0 and further versions
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade
PostgreSQL Anonymizerto a version that resolves this vulnerability.Fixed in 3.1.0 - Compensating control
For PostgreSQL 14 and instances upgraded from PostgreSQL 14 or a prior version, ensure only trusted users are explicitly granted the CREATE TABLE privilege on the public schema, since the described exploit requires that privilege.
Event History
Frequently Asked Questions
What is the severity of CVE-2026-9617?
The severity of CVE-2026-9617 is classified as medium with a score of 6.8.
How do I fix CVE-2026-9617?
To fix CVE-2026-9617, avoid using untrusted inputs as column identifiers in the anon.k_anonymity() function.
What type of attack does CVE-2026-9617 facilitate?
CVE-2026-9617 facilitates an SQL injection attack that can lead to superuser privilege escalation.
What is affected by CVE-2026-9617?
CVE-2026-9617 affects the PostgreSQL Anonymizer when the k-anonymity function is used with malicious column names.
When was CVE-2026-9617 published?
CVE-2026-9617 was published on May 27, 2026.