Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAuthenticate to PostgreSQL as masked-data role
-
ExploitQuery column protected by anon.partial()/anon.partial_email()
-
ExecutionShort value defeats partial masking
-
ImpactRead original sensitive data
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A06:2025 - Insecure Design
ASVS 5.0
V15 - Secure Coding and Architecture Protection mechanism completeness
|
| Exploitation Conditions | Exploitation requires that the target database actually uses the anon.partial() or anon.partial_email() masking functions on a column, AND that the underlying value is small enough that partial masking leaves the data effectively unredacted - both the feature use and short data are prerequisites named in the description. The attacker must also be an authenticated user (CVSS PR:L) with query access to the masked column. Limiting factors: deployments that do not use these two specific partial-masking functions are unaffected; values large enough to be meaningfully masked are not disclosed; and the attacker cannot reach the data without existing authenticated database access. The precise size threshold that triggers disclosure is not described in the available sources. |
| Impact | This is a moderate, authenticated information-disclosure flaw (CWE-693, Protection Mechanism Failure) rather than a high-urgency issue. The supplied CVSS 3.1 vector (AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N, base 4.3) indicates a network-reachable but authenticated attacker (PR:L) gaining only limited confidentiality impact (C:L) with no integrity or availability effect - consistent with a masking function that leaks original values rather than a system compromise. There is no CISA KEV listing and no EPSS score provided in the input, and the single reference is a Dalibo GitLab issue tracker entry, not verified working exploit code, so there is no public exploit identified at time of analysis. The vuln.today decision label is 'this_month', which aligns with the low CVSS and absence of exploitation signals - this is a patch-in-routine-cycle issue, not an emergency. The main caveat: the signal set is thin (no EPSS, no SSVC vector, no vendor advisory beyond the issue link), so the assessment rests mainly on the CVSS vector and the terse description. |
| Exploit ScenarioDerived | An authenticated low-privilege PostgreSQL user who is only supposed to see masked output queries a column protected by anon.partial() or anon.partial_email(); because the value is short enough, the masking leaves little or nothing redacted and the original sensitive data (e.g. a short name or email local-part) is returned in cleartext. No public exploit code is identified, and exploitation requires existing authenticated access to the masked data per the CVSS vector (PR:L). |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 28, 2026
PostgreSQL Anonymizer before 3.3.0 can disclose entire column values through the anon.partial() and anon.partial_email() masking functions when the underlying data is short enough that partial masking leaves it effectively unredacted. An authenticated database user with query access to an affected masked column can obtain more of the original value than intended, producing a low confidentiality impact (CVSS 4.3, PR:L). The vendor issue states the weakness is fixed in 3.3.0 and later; no active exploitation or public exploit is identified in the supplied intelligence, and the decision label is this_month.
RemediationAI
Upgrade PostgreSQL Anonymizer to version 3.3.0 or later, as stated in the vendor issue https://gitlab.com/dalibo/postgresql_anonymizer/-/issues/722. The supplied references do not document a specific workaround; if an immediate upgrade is not possible, avoid applying anon.partial() and anon.partial_email() to columns whose full value would be sensitive when short, and replace those uses with full masking or custom redaction logic, accepting the loss of partial-display functionality. In addition, restrict SELECT privileges on columns using these functions to users who are authorized to see the underlying data, recognizing that privilege restriction reduces exposure but does not correct the masking behavior itself.
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 that supplies masking functions for redacting sensitive column data. This issue is classified as CWE-693, Protection Mechanism Failure: anon.partial() and anon.partial_email() are intended to return a partially masked representation, but for sufficiently small input values the masking can leave the data effectively unredacted. Exploitation requires that a deployment actually use one of these two functions on a column and that the stored value be short enough for the masking to fail to conceal it; the supplied sources do not describe the precise size threshold. The CVSS vector AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N indicates that an authenticated user (PR:L) with query access is required, with low confidentiality impact and no integrity or availability impact. The CPE cpe:2.3:a:dalibo:postgresql_anonymizer:*:*:*:*:*:*:*:* identifies the Dalibo PostgreSQL Anonymizer extension as the affected product.
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:N/S:U/C:L/I:N/A:N
Authenticated database user needed to query masked data (PR:L), reachable over the network (AV:N); impact is limited disclosure of small masked values (C:L) with no integrity or availability effect.
Primary rating from Vendor (PostgreSQL).
CVSS VectorVendor: PostgreSQL
Lifecycle Timeline
1DescriptionCVE.org
PostgreSQL Anonymizer contains a vulnerability related to the anon.partial() and anon.partial_email() functions. These function can reveal the while data if the data is small enough. The issue is fixed 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
Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.
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-112295
GHSA-qr6f-75wq-748v
NVD
CVE.org
Exploit-DB