Read the docs

PostgreSQL Anonymizer: masked roles can read the statistics of masked columns

Priority LOW 16CWE-202Published · Updated

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

Exploitation None reported CISA SSVC · not in CISA KEV
EPSS 0.00143 3rd percentileScored 2026-11-07
Fix Fixed PostgreSQL Anonymizer (DALIBO): 3.3.0

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

VendorProductAffected versionsFixed inStatusSource
DALIBOPostgreSQL Anonymizer1 to before 3.3.03.3.0Patch availableCNA
  • PostgreSQL Anonymizer VendorDALIBO Affected 1 to before 3.3.0 Fixed in 3.3.0 Patch available CNA

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

  1. 2026-10-28 Threatist record created from CVE-2026-105615
  2. 2026-10-28 Alias added: GHSA-g4rr-g8c7-qxh2
  3. 2026-11-05 CISA SSVC decision points changed

References

  • 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
See all 23 →

Sources