Read the docs

Unbounded image-decode memory allocation in PostgreSQL Anonymizer

Priority LOW 21CWE-789Published · Updated

Key facts

Attack vector
Network
Privileges required
None
User interaction
Required
Attack complexity
Low
Impact type
Denial of service
Confidentiality · integrity · availability
None · None · Low
Fix status
Fixed

Attack profile from CVSS 3.1 · CNA. Fix status from CNA. Impact type from CWE-789.

Summary

PostgreSQL Anonymizer from 1 before 3.3.0 has a memory allocation flaw in anon.image_blur(). The function does not check the declared dimensions of the provided image, so memory is allocated based on values that the input sets (CWE-789). An unauthenticated remote attacker can supply a small image with enormous declared dimensions, which exhausts the memory of a backend and can cause it to be OOM-killed when overcommit is on, triggering a cluster-wide crash recovery.

Written with Claude Haiku 5.5 from the sources below · 2026-10-29

Description from the CNA

PostgreSQL Anonymizer's `anon.image_blur()` function doesn't check the declared dimension of the provided image, allowing an attacker to provide a small image with enormous declared dimensions. This vulnerability can be exploited to exhaust the memory of a backend and OOM-kill it (when ovecommit is on), which results in a cluster-wide crash recovery. The problem 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.00183 7th 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 fixes the problem for DALIBO PostgreSQL Anonymizer.

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-105614
  2. 2026-10-28 Alias added: GHSA-2wgx-cxvp-mvpw
  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