Skip to main content

PostgreSQL Anonymizer EUVDEUVD-2026-112296

| CVE-2026-110183 MEDIUM
Exposure of Sensitive Information Through Data Queries (CWE-202)
2026-10-28 PostgreSQL GHSA-5fhp-486m-m23r
4.3
CVSS 3.1 · Vendor: PostgreSQL
View

Attack ChainAIDerived

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

  1. Access
    Authenticate as low-privileged DB user
  2. Exploit
    Query pg_stats before ANALYZE refresh
  3. Impact
    Recover statistics describing original unmasked data

Vulnerability Assessment

Weakness
CWE
ASVS 5.0
V14 - Data Protection Sensitive data in outbound message
Exploitation Conditions

Exploitation requires that an administrator has applied PostgreSQL Anonymizer static masking to a table AND that no ANALYZE has yet run on that table (manually or via autovacuum) to overwrite the cached statistics - this is the explicit trigger window stated in the description. The attacker must be an authenticated PostgreSQL user (PR:L) with privileges to read the pg_stats view for the affected relation. What LIMITS exploitation: the exposure is time-bounded and self-healing (any ANALYZE or routine autovacuum eliminates it), the attacker needs valid database credentials, and only statistical metadata (common values, histograms, min/max bounds) about the original data is exposed - not full row contents. The impact is confined to deployments that rely on static masking and assume it immediately purges all traces of original data.

Impact

This is a genuine but low-urgency information-disclosure issue, not a high-severity emergency. The CVSS 3.1 base score is 4.3 (Medium) with vector AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N - meaning low-privileged but authenticated access, no user interaction, and only a limited confidentiality impact (no integrity or availability impact). No EPSS score was supplied, the CVE is not listed in CISA KEV, and no exploit code or working PoC reference was provided (the single reference is a Dalibo GitLab issue-tracker entry, not an exploit). The vuln.today decision label is 'this_month', consistent with a real-but-not-critical finding to be remediated on a normal patch cadence rather than as an emergency. The signals are internally consistent: Medium CVSS, no evidence of exploitation, limited impact scoped to statistical metadata rather than full record contents. The practical risk is that 'anonymized' data is not as protected as an operator assumes, because pre-masking statistics linger in pg_stats; this is an assurance/compliance gap more than a direct breach vector. No key signals are in open conflict, though EPSS is simply absent rather than low.

Exploit ScenarioDerived

After an operator runs static masking on a table expecting the original values to be gone, a low-privileged authenticated database user queries the pg_stats view before any ANALYZE (manual or autovacuum) refreshes the statistics, and reads cached statistics - such as most-common-values, histogram bounds, and min/max - that describe the original, unmasked data. No public exploit or PoC code is identified at time of analysis; the only reference is a vendor issue-tracker entry. Exploitation is a straightforward SQL read requiring no special tooling.

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 before 3.3.0 can leave statistics derived from original, pre-masking data visible in pg_stats after static masking has been applied, until an ANALYZE operation or autovacuum refreshes the table statistics. An authenticated PostgreSQL user with access to pg_stats for the affected relation could read common values, histograms, or range bounds that reveal information about the original data; the exposure is limited to metadata rather than row contents and is time-bounded because routine statistics maintenance clears it. No public exploit identified at time of analysis, and the issue is rated CVSS 4.3 with a fix in 3.3.0.

RemediationAI

Upgrade PostgreSQL Anonymizer to 3.3.0 or later, per the vendor reference at https://gitlab.com/dalibo/postgresql_anonymizer/-/issues/722. The described behavior indicates that running ANALYZE on a table after static masking, or allowing autovacuum to do so, refreshes the statistics and removes the stale pg_stats exposure; as an interim measure, administrators who cannot upgrade immediately should run ANALYZE on masked tables promptly. Because exploitation requires an authenticated PostgreSQL user with privileges to read pg_stats for the affected relation, access to pg_stats on masked tables should be limited to users who require it.

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 PostgreSQL extension that provides masking capabilities, including static masking that rewrites table data. PostgreSQL maintains table statistics in pg_statistic, exposed through the pg_stats view, containing metadata such as most common values, histograms, and min/max bounds. CWE-202 describes exposure of sensitive information through data queries. In this case, when static masking changes table contents but the statistics cache still reflects the pre-masking data, pg_stats can reveal statistical information about the original values until an ANALYZE operation or autovacuum refreshes the table statistics. The trigger window is explicit: static masking has been applied and no ANALYZE has yet run on that table. The exposure is limited to statistical metadata, not full row contents.

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 4.3 MEDIUM
AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N
vuln.today AI 4.3 MEDIUM

Authenticated DB user needed to read pg_stats so PR:L; reachable over normal database connection (AV:N/AC:L); only statistical metadata leaks, giving C:L with no integrity or availability impact.

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

Lifecycle Timeline

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

DescriptionCVE.org

PostgreSQL Anonymizer contains a vulnerability related to static masking and statistics persistence. Statistics pertaining to the original data remain visible in pg_stats until an ANALYZE operation is performed on the table, either manually or by autovacuum. This issue is fixed in PostgreSQL Anonymizer 3.3.0 and later versions.

Threat Intelligence Overview

Prevalence
Low
niche PostgreSQL anonymization extension, not core database infrastructure
Social Media
2
Sightings
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

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

Attack Technique

Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.

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