Skip to main content

PostgreSQL Anonymizer EUVDEUVD-2026-112290

| CVE-2026-105618 MEDIUM
Missing Authorization (CWE-862)
2026-10-28 PostgreSQL GHSA-gxmr-v93g-wpq2
5.7
CVSS 3.1 · Vendor: PostgreSQL
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Connect as masked low-privilege role
  2. Exploit
    Query parent partitioned/inheritance table
  3. Impact
    Receive 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.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
Patch available

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – 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

PostgreSQL Anonymizer 1 <3.3.0

Affected Packages

euvd postgresql_anonymizer fix: 3.3.0

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

Vendor (PostgreSQL) PRIMARY 5.7 MEDIUM
AV:N/AC:L/PR:L/UI:R/S:U/C:H/I:N/A:N
vuln.today AI 6.5 MEDIUM

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).

3.1 AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N
4.0 AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N

Primary rating from Vendor (PostgreSQL).

CVSS VectorVendor: PostgreSQL

Attack Vector
Network
Attack Complexity
Low
Privileges Required
Low
User Interaction
Required
Scope
Unchanged
Confidentiality
High
Integrity
None
Availability
None

Lifecycle Timeline

1
Patch available
Oct 28, 2026 - 18:18 EUVD

DescriptionCVE.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

Prevalence
Low
niche PostgreSQL extension for data anonymization, limited production footprint
Data Quality
3 sources
Confidence: Low

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.

SignalValue
Severity MEDIUM
CISA KEV No
Public POC No
EPSS N/A
Patch available Yes
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation· derived
None
System Exposure· derived
Open
Automatable· derived
No
Human Impact· derived
Medium

Priority Score

28
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +28
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.

CVE-2025-1094 HIGH POC
8.1 Feb 13

PostgreSQL libpq functions PQescapeLiteral(), PQescapeIdentifier(), PQescapeString(), and PQescapeStringConn() improperl

CVE-2024-55964 CRITICAL POC
9.8 Mar 26

An issue was discovered in Appsmith before 1.52. Rated critical severity (CVSS 9.8), this vulnerability is remotely expl

CVE-2013-1899 MEDIUM POC
6.5 Apr 04

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

CVE-2026-20253 CRITICAL POC
9.8 Jun 10

Unauthenticated arbitrary file write in Splunk Enterprise (below 10.2.4 and 10.0.7) and Splunk Cloud Platform (below 10.

CVE-2026-9586 CRITICAL POC
9.3 Jul 17

Unauthenticated SQL injection in Sangoma Switchvox SMB Edition 8.3 (build 104997) lets remote attackers execute arbitrar

CVE-2017-7546 CRITICAL
9.8 Aug 16

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

CVE-2015-1352 MEDIUM POC
5.0 Mar 30

The build_tablename function in pgsql.c in the PostgreSQL (aka pgsql) extension in PHP through 5.6.7 does not validate t

CVE-2024-10553 CRITICAL POC
9.8 Mar 20

A vulnerability in the h2oai/h2o-3 REST API versions 3.46.0.4 allows unauthenticated remote attackers to execute arbitra

CVE-2019-9193 HIGH POC
7.2 Apr 01

In PostgreSQL 9.3 through 11.2, the "COPY TO/FROM PROGRAM" function allows superusers and users in the 'pg_execute_serve

CVE-2026-40887 CRITICAL POC
9.1 Apr 14

Unauthenticated SQL injection in Vendure Shop API allows remote attackers to execute arbitrary SQL commands against the

CVE-2022-24760 CRITICAL POC
10.0 Mar 12

Parse Server is an open source http web server backend. Rated critical severity (CVSS 10.0), this vulnerability is remot

CVE-2025-56157 CRITICAL POC
9.8 Dec 18

Hard-coded default PostgreSQL credentials shipped in the docker-compose.yaml of langgenius Dify through version 1.5.1 al

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy