PostgreSQL Anonymizer: masked roles can read the statistics of masked columns
Key facts
- Attack vector
- Network
- Privileges required
- Low
- User interaction
- Required
- Attack complexity
- Low
- Impact type
- —
- Confidentiality · integrity · availability
- Low · None · None
- Fix status
- Fixed
Attack profile from CVSS 3.1 · CNA. Fix status from CNA.
Summary
PostgreSQL Anonymizer from DALIBO before 3.3.0 lets a masked role read statistics of masked columns. PostgreSQL exposes optimized statistics such as histograms and most common values in the pg_stats view to any role with SELECT privilege on the table. A masked role can use these statistics to recover a limited subset of the underlying data (CWE-202). Exploitation requires a masked role with low privileges and user interaction (CVSS:3.1 PR:L/UI:R).
Written with Claude Haiku 5.5 from the sources below · 2026-10-29
Description from the CNA
PostgreSQL's optimized statistics on a table are visible as long as you have SELECT privilege on said table. A masked role can therefore read a limited subset of the data through the statistics view's histograms and mcvs. The vulnerability 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 resolves the vulnerability.
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-105615
- 2026-10-28 Alias added: GHSA-g4rr-g8c7-qxh2
- 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-105615 · CVE Program
- CVE-2026-105615 · NVD
- FIRST EPSS
- GHSA-g4rr-g8c7-qxh2 · 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