Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessConnect as masked low-privilege role
-
ExploitQuery parent partitioned/inheritance table
-
ImpactReceive unmasked sensitive rows
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 | Requires PostgreSQL Anonymizer prior to 3.3.0 deployed with masking rules applied to partitioned or inheritance tables (the configuration the project documentation explicitly recommends). The attacker must already hold an authenticated masked database role and must query the parent table rather than the child partitions - direct access to the partitions/inheritance child tables remains correctly masked. Limiting factors: exploitation is confined to this specific partition/inheritance masking setup and to users who already have a masked role; non-partitioned masking configurations and upgraded 3.3.0+ installations are unaffected. |
| Impact | This is a moderate-severity information-disclosure flaw, not an emergency. The input CVSS of 5.7 reflects confidentiality-only impact (C:H/I:N/A:N) and requires an authenticated low-privilege actor (PR:L), consistent with the vuln.today decision label of 'this_month' rather than act_now/emergency. No KEV listing, no EPSS score, and no confirmed proof-of-concept were provided - there is no public exploit identified at time of analysis, so this reads as a design/logic weakness rather than an actively exploited one. Signal conflict to flag: the supplied vector contains UI:R (user interaction required), but the described mechanism - a masked role simply querying the parent table - involves no obvious interaction, so UI:R appears questionable and should be verified with the vendor. The real priority is bounded: risk is only meaningful for deployments that follow the documented pattern of masking partitioned/inheritance tables, where anonymization can be silently bypassed; outside that configuration the issue does not apply. |
| Exploit ScenarioDerived | An organization uses PostgreSQL Anonymizer dynamic masking and, per the project documentation, applies masking rules to partitioned or inheritance tables. A user holding a masked role - who should only ever see anonymized values - queries the parent table instead of the child partitions and receives the original unmasked sensitive data. No public exploit code is required; the bypass is triggered by ordinary SQL against the parent relation. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 28, 2026
PostgreSQL Anonymizer releases prior to 3.3.0 leak unmasked data when a masked database role reads a parent table over a partitioned or inheritance hierarchy, even though the same role querying the child partitions directly gets properly masked results. Affected installations are specifically those that followed the project's documentation guidance to place masking rules on partitions and inheritance tables; non-partitioned masking configurations and 3.3.0+ installations are unaffected. The attacker must already hold an authenticated masked role (PR:L in the assessed vector, which also drops the CVE record's UI:R), and no public exploit code has been identified at time of analysis; priority is tracked as this_month rather than an immediate emergency.
RemediationAI
Upgrade to PostgreSQL Anonymizer 3.3.0 or later, which the vendor states resolves the issue; this is the complete fix and the only one confirmed in the available sources (upstream issue: https://gitlab.com/dalibo/postgresql_anonymizer/-/issues/696). Until upgraded, restrict masked roles from selecting directly on the parent tables of partitioned or inheritance hierarchies, since the parent access path is the one that bypasses masking while the partitions themselves remain correctly masked; the trade-off is that legitimate reporting or application queries written against the parent table will fail or need rewriting against the child partitions. As an alternative interim measure, avoid applying masking rules solely at the partition or inheritance parent level, or avoid exposing partition/inheritance layouts to masked roles altogether, at the cost of a schema or role redesign. Note that no public exploit code has been identified for this flaw and priority is this_month, so remediation can be scheduled into the normal patch cycle rather than an emergency change.
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-maintained PostgreSQL extension that provides dynamic masking and pseudonymization by attaching masking rules and security labels to relations. This finding is classed as CWE-862 (Missing Authorization): the masking policy is enforced on the child partitions and inheritance child tables, but the corresponding enforcement is absent on the access path through the parent table, so a query issued against the parent returns the underlying values while an equivalent query against a partition stays masked. The masking is therefore bound to the physical relation a query targets rather than to the logical table the role is supposed to be restricted by. The trigger mechanics beyond that parent-versus-child access path distinction are not described in the available sources. The CPE cpe:2.3:a:dalibo:postgresql_anonymizer:*:*:*:*:*:*:*:* is version-unbounded in the feed data, but the vendor states the issue is resolved in 3.3.0 and later, so all earlier releases are in scope. The assessed vector (AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N) differs from the published CVSS 5.7 record only on user interaction.
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:H/I:N/A:N
A masked role is an authenticated low-privilege actor (PR:L) reachable over the DB network connection (AV:N); the bypass needs no interaction (UI:N), exposes protected data (C:H) but alters nothing (I:N/A:N).
Primary rating from Vendor (PostgreSQL).
CVSS VectorVendor: PostgreSQL
Lifecycle Timeline
1DescriptionCVE.org
PostgreSQL Anonymizer's documentation recommends applying rules on partitions and inheritance tables. Direct access to the paritions / inheritance tables is masked but not thru the parent table. 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-112290
GHSA-gxmr-v93g-wpq2
NVD
CVE.org
Exploit-DB