Unbounded image-decode memory allocation in PostgreSQL Anonymizer
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
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 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
- 2026-10-28 Threatist record created from CVE-2026-105614
- 2026-10-28 Alias added: GHSA-2wgx-cxvp-mvpw
- 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-105614 · CVE Program
- CVE-2026-105614 · NVD
- FIRST EPSS
- GHSA-2wgx-cxvp-mvpw · 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