{"id":"CVE-2026-110181","title":"PostgreSQL Anonymizer: Function declared with SQL-standard syntax leak anonymized data","summary":"PostgreSQL Anonymizer contains a vulnerability related to anonymization functions defined using SQL-standard function bodies. PostgreSQL analyses such functions at declaration time, while Anonymizer only attempts to check them at executi…","severity":"medium","cvss":6.5,"cvssVector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N","cvssSource":"cna","cwe":["CWE-693"],"vendor":"DALIBO","product":"PostgreSQL Anonymizer","affected":["postgresql_anonymizer >= 1 < 3.3.0"],"published":"2026-10-28","updated":"2026-10-28","sourceUpdated":"2026-10-28T17:31:52.642Z","source":"CVEORG","sourceUrl":"https://www.cve.org/CVERecord?id=CVE-2026-110181","references":[{"url":"https://gitlab.com/dalibo/postgresql_anonymizer/-/issues/718"}],"tags":["cve.org"],"ingestedAt":"2026-10-28T18:15:46.392Z","slug":"CVE-2026-110181","body":"## Overview\n\nPostgreSQL Anonymizer contains a vulnerability related to anonymization functions defined using SQL-standard function bodies. PostgreSQL analyses such functions at declaration time, while Anonymizer only attempts to check them at execution time. This problem can be exploited by any user with the TEMPORARY privilege. The issue is fixed in PostgreSQL Anonymizer 3.3.0 and later versions.\n\n## Affected\n\n- `postgresql_anonymizer >= 1 < 3.3.0`\n\n## Remediation\n\nRefer to the linked advisories for vendor-supplied fixes and affected version ranges.\n\n### Workarounds\n\nRevoke TEMPORARY from PUBLIC and CREATE on all schemas from masked roles to prevent them from creating a function. Revoke EXECUTE from PUBLIC on function with SQL-standard bodies since anon fails to anonymize the data they return.","depth":"sunlit","depthScore":36,"depthScoreParts":{"impact":35.8,"likelihood":0,"exploitation":0,"ransomware":0},"changes":[]}