Skip to main content

PostgreSQL Anonymizer CVE-2026-105612

| EUVDEUVD-2026-112284 LOW
Missing Authorization (CWE-862)
2026-10-28 PostgreSQL GHSA-5wcf-v8v8-f5c4
3.5
CVSS 3.1 · Vendor: PostgreSQL
View

Attack ChainAIDerived

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

  1. Access
    Authenticate as masked read-only role
  2. Exploit
    Submit query with data-modifying CTE
  3. Execution
    Bypass read-only restriction (CWE-862)
  4. Impact
    Perform 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.

Monitor Track and reassess. Why: LOW severity (CVSS 0.1-3.9).
Patch available

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

Alert me

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

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

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

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.

3.1 AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:N
4.0 AV:N/AC:L/AT:N/PR:L/UI:N/VC:N/VI:L/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
None
Integrity
Low
Availability
None

Lifecycle Timeline

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

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

Prevalence
Low
niche Dalibo PostgreSQL data-masking extension, 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 LOW
CISA KEV No
Public POC No
EPSS N/A
Patch available Yes
Active threat No
Deciding rule
LOW severity (CVSS 0.1-3.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
Defer
Exploitation· derived
None
System Exposure· derived
Open
Automatable· derived
No
Human Impact· derived
Low

Priority Score

18
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +18
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