Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessObtain SQL execution on target DB
-
DeliveryCall range-based dummy function with huge range
-
ExploitBackend allocates unbounded memory
-
ExecutionOOM-kill of backend process (overcommit on)
-
ImpactCluster-wide crash recovery outage
Vulnerability Assessment
| Weakness |
CWE
ASVS 5.0
V15 - Secure Coding and Architecture Memory allocation limits
|
| Exploitation Conditions | The deployment must have the PostgreSQL Anonymizer extension installed and must expose or allow invocation of its range-based dummy/faking functions (versions before 3.3.0). The attacker must be able to execute SQL that calls such a function with an attacker-controlled, unconstrained (very large) range. The specific catastrophic outcome - OOM-kill of the backend and cluster-wide crash recovery - occurs when OS memory overcommit is enabled; without overcommit the allocation failure may be handled more gracefully. Limiting factors: requires reachability of the vulnerable functions and the ability to run SQL against the affected database, and the full cluster-crash impact is conditioned on the overcommit setting. The provided vector lists PR:N and UI:R, but neither is supported by the described trigger mechanism. |
| Impact | This is a medium-severity denial-of-service issue (CVSS 4.7), not a top-tier emergency. The supporting signals are thin and partly conflicting. No EPSS score is provided, CISA KEV status is NO, and there is no verified exploit code - only a vendor GitLab issue. The vuln.today decision label is 'this_month', consistent with a non-urgent DoS rather than act_now/emergency. The provided CVSS vector (AV:N/AC:L/PR:N/UI:R/S:C/A:L) has two tensions worth flagging: (1) PR:N (unauthenticated) conflicts with the mechanism, since triggering a range-based dummy/faking function requires the ability to execute SQL against a database where the PostgreSQL Anonymizer extension is installed - that normally implies at least some database access, so the practical privilege requirement is likely PR:L, verify against vendor masking configuration. (2) UI:R (user interaction required) is not explained anywhere in the description; the attacker appears to trigger the condition directly by issuing the query, so the UI:R flag is unverified from available sources. The description also states the catastrophic outcome (cluster-wide crash recovery) depends on OS memory overcommit being enabled - a conditional that the A:L rating arguably understates, since a full cluster crash-recovery outage affects every database and session. Net: a real but conditional availability risk for the narrow population running this extension, not a widespread or actively exploited threat. |
| Exploit ScenarioDerived | An attacker able to execute SQL against a database using PostgreSQL Anonymizer calls a range-based dummy/faking function with an extremely large, unconstrained range, causing the backend to allocate unbounded memory. With OS memory overcommit enabled, the backend is OOM-killed, forcing the entire PostgreSQL cluster into crash recovery and a service outage. No verified public exploit code is available; only the vendor's GitLab issue describes the flaw. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 28, 2026
Memory exhaustion in PostgreSQL Anonymizer's range-based dummy functions affects every release before 3.3.0: whoever can run SQL that invokes one of these faking functions with an attacker-controlled range size can force an oversized allocation, OOM-kill the backend and, on hosts with memory overcommit enabled, drive cluster-wide crash recovery. The published score is CVSS 4.7 (AV:N/AC:L/PR:N/UI:R/S:C/C:N/I:N/A:L) while the independent assessment rates PR:L, UI:N and A:H, so the privilege requirement and availability impact should be treated as disputed rather than settled; priority is 'this_month'. No public exploit code was identified at time of analysis and CISA KEV does not list this issue.
RemediationAI
Upgrade PostgreSQL Anonymizer to 3.3.0 or later: the vendor issue at https://gitlab.com/dalibo/postgresql_anonymizer/-/issues/690 states the problem is resolved in 3.3.0, and that is the only complete fix identified in the supplied data - no version-specific workaround is documented. Until the upgrade is applied, exposure can be narrowed by restricting which roles may execute the extension's range-based dummy functions and by limiting who can run arbitrary SQL against anonymized databases, with the trade-off that this constrains legitimate masking and testing workflows that rely on those functions. Because the cluster-wide crash recovery outcome only occurs when OS memory overcommit is enabled, changing the host's overcommit policy reduces the blast radius from a full cluster restart to a more graceful allocation failure, but that setting applies to every process on the machine, not just PostgreSQL, and should not be treated as a substitute for the 3.3.0 upgrade.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
PostgreSQL Anonymizer is a PostgreSQL extension (CPE cpe:2.3:a:dalibo:postgresql_anonymizer:*:*:*:*:*:*:*:* covers all versions up to the 3.3.0 fix) that supplies masking and 'dummy'/faking functions generating synthetic values, including range-based generators that produce values across a caller-specified interval. The flaw is CWE-789 (Memory Allocation with Excessive Size Value): the range size is taken from the request without an upper bound, so a very large range translates into an allocation request large enough to exhaust the backend's memory; the supplied sources do not describe the specific allocation routine or internal call path, so the trigger beyond 'unconstrained range size passed to a range-based dummy function' is not detailed. In PostgreSQL each client connection is served by a backend process under a shared postmaster, so an OOM-killed backend leads to postmaster-driven recovery of the whole cluster rather than an isolated session drop - the reported catastrophic outcome is explicitly conditioned on OS memory overcommit being enabled; without overcommit the allocation failure may be handled more gracefully. The supplied CVSS vector (AV:N/AC:L/PR:N/UI:R/S:C/C:N/I:N/A:L) and the independent assessment (AV:N/AC:L/PR:L/UI:N/S:C/C:N/I:N/A:H) diverge on privileges required and availability impact, so the practical precondition should be read as the ability to execute SQL against a database with the vulnerable functions reachable.
Know when PostgreSQL gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
AV:N/AC:L/PR:N/UI:R/S:C/C:N/I:N/A:L
Triggering the function requires SQL execution so PR:L and UI:N; a single backend OOM forcing cluster-wide crash recovery is a scope-changing total availability loss, hence S:C and A:H.
Primary rating from Vendor (PostgreSQL).
CVSS VectorVendor: PostgreSQL
Lifecycle Timeline
1DescriptionCVE.org
PostgreSQL Anonymizer's range-based dummy functions dont constraint the range size. 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.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Denial of Service attacks render applications or systems unavailable by overwhelming resources or triggering failure conditions.
More in PostgreSQL
View allPostgreSQL libpq functions PQescapeLiteral(), PQescapeIdentifier(), PQescapeString(), and PQescapeStringConn() improperl
An issue was discovered in Appsmith before 1.52. Rated critical severity (CVSS 9.8), this vulnerability is remotely expl
Argument injection vulnerability in PostgreSQL 9.2.x before 9.2.4, 9.1.x before 9.1.9, and 9.0.x before 9.0.13 allows re
Unauthenticated arbitrary file write in Splunk Enterprise (below 10.2.4 and 10.0.7) and Splunk Cloud Platform (below 10.
Unauthenticated SQL injection in Sangoma Switchvox SMB Edition 8.3 (build 104997) lets remote attackers execute arbitrar
PostgreSQL versions before 9.2.22, 9.3.18, 9.4.13, 9.5.8 and 9.6.4 are vulnerable to incorrect authentication flaw allow
The build_tablename function in pgsql.c in the PostgreSQL (aka pgsql) extension in PHP through 5.6.7 does not validate t
A vulnerability in the h2oai/h2o-3 REST API versions 3.46.0.4 allows unauthenticated remote attackers to execute arbitra
In PostgreSQL 9.3 through 11.2, the "COPY TO/FROM PROGRAM" function allows superusers and users in the 'pg_execute_serve
Unauthenticated SQL injection in Vendure Shop API allows remote attackers to execute arbitrary SQL commands against the
Parse Server is an open source http web server backend. Rated critical severity (CVSS 10.0), this vulnerability is remot
Hard-coded default PostgreSQL credentials shipped in the docker-compose.yaml of langgenius Dify through version 1.5.1 al
EUVD-2026-112285
GHSA-4mxh-vp96-jp43
NVD
CVE.org
Exploit-DB