Cached plans expose unmasked data in PostgreSQL Anonymizer
Key facts
- Attack vector
- Network
- Privileges required
- None
- User interaction
- Required
- Attack complexity
- Low
- Impact type
- Information disclosure
- Confidentiality · integrity · availability
- High · None · None
- Fix status
- Fixed
Attack profile from CVSS 3.1 · CNA. Fix status from CNA. Impact type from CWE-200.
Summary
PostgreSQL Anonymizer from DALIBO, from 1 before 3.3.0, does not invalidate cached plans prepared after a masking rule was added or a role changed. A remote user with no privileges can read unmasked data through such a plan until the end of the session. The attack requires user interaction, and it exposes sensitive information (CWE-200).
Written with Claude Haiku 5.5 from the sources below · 2026-10-29
Description from the CNA
PostgreSQL Anonymizer doesn't invalidate plans prepared after a rule was added or a role changed. Users using such plans can still see the unmasked data until the end of the session. The problem is resolved in PostgreSQL Anonymizer 3.3.0 and later versions.
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- None
- Automatable
- No
- Technical impact
- Partial
The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.
Affected products
Remediation
Upgrade PostgreSQL Anonymizer to version 3.3.0 or later, which fixes the issue.
Written with Claude Haiku 5.5 from the sources below · 2026-10-29
- Fix · CNA PostgreSQL Anonymizer (DALIBO) Fixed in 3.3.0
Fixed in the same release
Records fixed by the same vendor advisory or release, as the CNA lists them.
- Release ·
DALIBO PostgreSQL Anonymizer 3.3.0
12 records Highest priority Priority LOW 12 LOW
Other records, highest priority first
- TI-2026-82102 Protection mechanism failure in PostgreSQL Anonymizer leaks anonymized dataPriority LOW 28
- TI-2026-82101 PostgreSQL Anonymizer: masked role reads real data via sub-query rulePriority LOW 28
- TI-2026-82099 PostgreSQL Anonymizer skips masking for queries through parent tablesPriority LOW 25
Timeline
- 2026-10-28 Threatist record created from CVE-2026-105617
- 2026-10-28 Alias added: GHSA-pmmg-m528-xf29
- 2026-10-30 Priority changed: MEDIUM → LOW
- 2026-11-05 CISA SSVC decision points changed
References
More DALIBO vulnerabilities
- TI-2025-05130 Cursor allows PostgreSQL Anonymizer masked user to gain unauthorized access to authentic data CVSS 3.1MEDIUM 6.5
- TI-2026-15944 PostgreSQL Anonymizer: unprivileged masked users can execute code via operators, domain casts and view subqueries CVSS 3.1HIGH 8.8
- TI-2024-02174 Improper Input Validation in PostgreSQL Anonymizer 1.2 allows table owner to gain superuser privileges via masking rule CVSS 3.1HIGH 8.8
- TI-2026-08447 PostgreSQL Anonymizer: malicious column name allows SQL injection via anon.k_anonymity() function CVSS 3.1HIGH 8.8
- TI-2026-01997 Uncontrolled search path in DALIBO PostgreSQL Anonymizer CVSS 3.1HIGH 8.0
- TI-2026-01996 Uncontrolled search path in DALIBO PostgreSQL Anonymizer CVSS 3.1HIGH 8.0
Sources
- CVE-2026-105617 · CVE Program
- CVE-2026-105617 · NVD
- FIRST EPSS
- GHSA-pmmg-m528-xf29 · GitHub Advisory Database · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences