Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAuthenticate as masked read-only role
-
ExploitSubmit query with data-modifying CTE
-
ExecutionBypass read-only restriction (CWE-862)
-
ImpactPerform unauthorized data writes
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V8 - Authorization Authorization checks on every request
MITRE ATT&CK
1 technique across 1 tactic: Privilege Escalation The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Exploitation requires an authenticated database session holding a masked role configured under PostgreSQL Anonymizer (the extension's read-only masking mechanism must be in use), plus the ability to submit SQL containing data-modifying CTEs. It does not apply to deployments that do not rely on masked roles for read-only enforcement. The limiting factors are strong: the attacker must already possess a provisioned masked-role account (PR:L), only integrity is affected (no data disclosure or availability loss), and upgrading to PostgreSQL Anonymizer 3.3.0 or later fully resolves the issue. |
| Impact | This is a genuinely low-severity, low-priority issue despite being an access-control bypass. The CVSS 3.1 base score is 3.5 (LOW) with vector AV:N/AC:L/PR:L/UI:R/S:U/C:N/I:L/A:N, and the vuln.today Decision label is 'monitor' - the weakest urgency tier. The signals are internally consistent: there is no CISA KEV listing, no EPSS probability supplied, and no public exploit identified, so nothing points to active or imminent exploitation. The CWE-862 (Missing Authorization) classification matches the described behavior - a masked role using data-modifying CTEs to escape its read-only restriction - more than the 'Authentication Bypass' tag does; this is an authorization bypass by an already-authenticated low-privileged role, not an authentication bypass. Note one discrepancy worth flagging: the supplied vector sets UI:R (user interaction required), but the described mechanism is the masked role executing its own SQL, which would not normally require a separate victim's interaction - the UI:R basis is not explained in the available sources and should be verified with the vendor. Overall this is a low-real-risk, low-CVSS integrity issue confined to deployments relying on PostgreSQL Anonymizer's masked (read-only) roles. |
| Exploit ScenarioDerived | An authenticated user assigned a masked (read-only) role in PostgreSQL Anonymizer issues a query containing a data-modifying common table expression (e.g., a WITH clause wrapping an INSERT/UPDATE/DELETE), which the extension fails to block, letting the role write data it should only be able to read. No public exploit code has been identified; the only reference is the vendor's GitLab issue tracker. Because the attacker is a provisioned masked role (PR:L), exploitation is limited to parties who already hold such an account. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 28, 2026
Masked-role read-only enforcement in PostgreSQL Anonymizer can be bypassed with data-modifying common table expressions (CTEs), allowing an authenticated database user holding a masked role to make unauthorized data changes that the extension is intended to prevent. Affected releases are PostgreSQL Anonymizer versions before 3.3.0; impact is integrity-only, with no confidentiality or availability loss, and deployments that do not use masked roles for read-only enforcement are outside the assessed conditions. The independent assessment rates this as a low-severity, low-priority access-control bypass, no public exploit has been identified at time of analysis, and the complete fix is upgrading to 3.3.0 or later.
RemediationAI
Upgrade PostgreSQL Anonymizer to version 3.3.0 or later; this is the vendor-released fix and fully resolves the issue according to the available assessment. The vendor issue at https://gitlab.com/dalibo/postgresql_anonymizer/-/issues/702 tracks the change. The available sources do not provide a documented workaround, so deployments that rely on masked roles for read-only enforcement should treat the 3.3.0 upgrade as the complete remediation.
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 Dalibo extension for PostgreSQL that provides masking and anonymization capabilities, including masked roles that are intended to be read-only. PostgreSQL allows data-modifying statements inside a WITH clause, so a single SQL statement can include write operations through data-modifying CTEs. The extension does not enforce the masked-role read-only restriction on that write path, which is a missing authorization weakness (CWE-862): the role is intended for read-only use, but a write performed through a data-modifying CTE is not blocked. The supplied CPE, cpe:2.3:a:dalibo:postgresql_anonymizer:*:*:*:*:*:*:*:*, identifies the Dalibo extension, and the cited vendor issue at https://gitlab.com/dalibo/postgresql_anonymizer/-/issues/702 records resolution in version 3.3.0. The assessed vector is CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:N, reflecting network reachability, low privileges, no user interaction, and integrity-only impact; exploitation requires an authenticated database session with a provisioned masked-role account and the ability to submit SQL containing data-modifying CTEs, and the supplied sources do not describe another trigger or a pre-authentication path.
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:L/UI:R/S:U/C:N/I:L/A:N
Requires an authenticated masked database role so PR:L; the role acts directly so UI:N; only integrity is affected by unauthorized writes, with no confidentiality or availability impact.
Primary rating from Vendor (PostgreSQL).
CVSS VectorVendor: PostgreSQL
Lifecycle Timeline
1DescriptionCVE.org
PostgreSQL Anonymizer contains a vulnerability that data-modifying CTEs to bypass the read-only restriction of masked roles. 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
Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.
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-112284
GHSA-5wcf-v8v8-f5c4
NVD
CVE.org
Exploit-DB