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
A database user with table-creation rights can set a malicious column name that runs when a superuser later uses PostgreSQL Anonymizer's k-anonymity function. Successful abuse could give that code superuser-level database privileges. The issue is fixed in PostgreSQL Anonymizer 3.1.0 and later.
Executive priority
Prioritize remediation on databases where less-trusted users can create tables and anonymization tasks run with superuser privileges. For tightly controlled databases, urgency is lower but upgrade and permission review should still be scheduled promptly.
Technical view
CVE-2026-9617 is SQL injection in PostgreSQL Anonymizer's anon.k_anonymity() handling of column identifiers. If a privileged caller runs the function against attacker-controlled table metadata, code in a column identifier can execute with superuser privileges. Risk is higher on PostgreSQL 14 or upgraded instances where public schema CREATE may still be allowed.
Likely exposure
Exposure is limited to PostgreSQL environments using PostgreSQL Anonymizer where untrusted or lower-privileged users can create tables and a superuser runs anon.k_anonymity(). PostgreSQL 15+ defaults reduce exposure unless CREATE TABLE was explicitly granted.
Exploitation context
The source bundle does not show CISA KEV listing or active exploitation evidence. Abuse requires high privileges to create relevant database objects and user interaction through a superuser invoking the vulnerable function, but impact is high if conditions align.
Researcher notes
Affected-version evidence in the bundle is limited beyond the statement that 3.1.0 and later resolve the issue. Focus validation on extension version, PostgreSQL major-version history, schema CREATE grants, and whether superusers run anon.k_anonymity() against attacker-influenced database objects.
Mitigation direction
Upgrade PostgreSQL Anonymizer to 3.1.0 or later.
Review vendor guidance for any additional configuration recommendations.
Restrict CREATE privileges on public and sensitive schemas.
Limit who can invoke anon.k_anonymity() as a privileged role.
Review upgraded PostgreSQL 14-era instances for inherited public schema permissions.
Validation and detection
Inventory PostgreSQL instances using PostgreSQL Anonymizer.
Confirm installed PostgreSQL Anonymizer version is 3.1.0 or later.
Review schema CREATE grants, especially on public schemas.
Identify users able to create tables in anonymized databases.
Review privileged anonymization jobs using anon.k_anonymity().
Check audit logs for unusual table or column identifiers before privileged runs.
Based on public source material and reviewed before publication.
Potential ATT&CK relevance
Conservative CVE-to-ATT&CK context
These mappings and lookup hints may be relevant to the vulnerability behavior, CWE, affected product, or exposure path. Glexia-inferred context is not an official MITRE, ATT&CK, CWE, or CVE Program mapping.
ATT&CK lookup starting points
Use these exact CWE pages and searches to review the Glexia ATT&CK library from this CVE's weakness and description context.
cwe · medium confidence lookup
CWE-89: Database access and collection lookup
Injection into data stores can inform collection, data access, and exfiltration detection reviews. Open the exact CWE lookup page first, then review the ATT&CK searches from that MITRE weakness context. This is a Glexia lookup hint, not an official ATT&CK mapping.
The CVE wording references database injection or access, so collection and exfiltration review may help. This is a Glexia inferred lookup path, not an official MITRE, ATT&CK, or CVE Program mapping.
These fields come from the CVE record and ADP containers, not from Glexia's Take. They preserve
time-varying source decisions such as CISA SSVC, KEV status, CVSS metrics, and provider references.
1CVSS vectors
3Timeline events
1ADP providers
2Source links
SSVC decision data
CISA-ADPCISA Coordinator
Timestamp
Version
2.0.3
Exploitation: noneAutomatable: noTechnical Impact: total
CVSS vector scores
1 official score
We collect every scored CVSS vector available in the official CNA and ADP containers. When more than one version is present,
the table keeps the source vectors side by side instead of collapsing them into the highest score.
CWE links open Glexia weakness intelligence pages with official CWE context, developer remediation guidance, and related CVE mappings.
CWE-89 · source CWE mapping
Improper Neutralization of Special Elements used in an SQL Command ('SQL Injection')
Improper Neutralization of Special Elements used in an SQL Command ('SQL Injection') represents a recurring weakness pattern that can create exploitable paths when design, validation, or implementation controls are missing.