Skip to main content

PostgreSQL Operator EUVDEUVD-2026-91803

| CVE-2026-104055 MEDIUM
Insertion of Sensitive Information into Log File (CWE-532)
2026-10-02 canonical GHSA-3533-w4pf-7x2r
5.3
CVSS 4.0 · Vendor: canonical
View

Attack ChainAIDerived

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

  1. Access
    Gain read access to exporter logs
  2. Exploit
    Trigger or await DB connection error
  3. Execution
    Recover cleartext monitoring password
  4. Impact
    Authenticate to PostgreSQL for pg_monitor read access

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A09:2025 - Security Logging & Alerting Failures
ASVS 5.0
V16 - Security Logging and Error Handling Log data sanitization
Exploitation Conditions

Two concrete conditions must both hold: (1) the attacker must be able to read the Prometheus postgres_exporter's logs for the postgresql-operator charm - e.g., access to the Juju unit/container, the log files, or a downstream log-aggregation/observability system that ingests them; and (2) a database connection error must have occurred, because the exporter only writes the monitoring user's password in cleartext on connection failure (so under normal error-free operation the secret is not exposed). Limiting factors: exploitation yields only the 'monitoring' user credential, which maps to read-only pg_monitor access (no write, no admin, no RCE); it affects only charm revisions prior to 1189/1190 (dev track 14/edge) and 1216/1217 (stable track 14/stable); and it is bounded to Charmed PostgreSQL deployments using the operator charm with the exporter enabled.

Impact

This is a genuine but modest-severity information-disclosure flaw (CWE-532), not a high-urgency priority. The vendor CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:L/UI:N) scores 5.3 (Medium) with only low confidentiality impact (VC:L) and no integrity or availability impact - consistent with the description, which limits the payoff to recovering a 'monitoring' user password that grants only read-only pg_monitor access. No EPSS score was provided, the CVE is not listed in CISA KEV, and no public exploit code was supplied, so exploitation status is 'no public exploit identified at time of analysis.' A key nuance: the CVSS marks AV:N, but exploitation realistically requires the ability to READ the postgres_exporter's logs, which is itself a privileged/positioned capability rather than anonymous network reach - the PR:L metric partially captures this, but defenders should treat the true attack surface as 'anyone with log read access' (log aggregation operators, co-located processes, or anyone who can reach shipped logs) rather than any unauthenticated internet attacker. The payoff is bounded: pg_monitor is read-only, so there is no direct path to data modification or RCE from this flaw alone. Overall this is a legitimate hardening fix worth patching in affected Charmed PostgreSQL deployments, but not a drop-everything emergency.

Exploit ScenarioDerived

An operator or attacker with access to the postgresql-operator charm's logs (directly on the unit, or via a centralized logging/observability pipeline) waits for or induces a database connection error, which causes the postgres_exporter to write the monitoring user's password in cleartext to the log. They copy the password and authenticate to PostgreSQL as the monitoring user, obtaining read-only pg_monitor visibility into database metrics and statistics. No public exploit code is required - recovery is a trivial log grep once the error has been logged.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
Patch available 0.3% exploitation probability (EPSS)

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

Alert me

AnalysisAIv1 – Oct 02, 2026

Cleartext logging of the monitoring user's password in Canonical's postgresql-operator charm allows an attacker with read access to the Prometheus postgres_exporter logs to recover credentials granting read-only pg_monitor access to PostgreSQL. The flaw (CWE-532) affects charm revisions prior to 1189/1190 on the 14/edge track and prior to 1216/1217 on the 14/stable track, and exploitation additionally requires that a database connection error has occurred so the password is written to logs. This is a modest-severity information-disclosure issue (CVSS 5.3, PR:L) with no public exploit identified at time of analysis, fixed in the specified revisions via upstream patches.

RemediationAI

Upgrade to the fixed revisions: on the 14/edge track use revision 1189 (arm64) or 1190 (amd64); on the 14/stable track use revision 1216 (arm64) or 1217 (amd64). Apply the update via Juju refresh with the appropriate channel and revision, or rebuild from the patched snap PRs (canonical/charmed-postgresql-snap#305 and #307) and the operator PR (canonical/postgresql-operator#1863). If immediate patching is not possible, restrict access to the postgres_exporter logs: limit Juju unit and container access, secure any downstream log-aggregation/observability systems that ingest these logs, and avoid forwarding exporter logs to shared or broadly accessible storage. Because the leak only occurs on database connection errors, monitor for and promptly resolve connection issues to reduce the window of exposure. After patching, rotate the monitoring user's password if logs may have been exposed, and note that the credential grants only read-only pg_monitor access, so impact is limited. See the advisory at https://github.com/canonical/postgresql-operator/security/advisories/GHSA-rcx7-7rh5-r542.

Affected VersionsENISA

postgresql-operator 0 <1189
postgresql-operator 0 <1216
postgresql-operator 0 <1190
postgresql-operator 0 <1217

Affected Packages

euvd postgresql_operator fix: 1189, 1190, 1216, 1217

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

The postgresql-operator charm deploys a Prometheus postgres_exporter to collect database metrics using a dedicated 'monitoring' PostgreSQL user. The exporter is configured with connection details that include the monitoring user's password; when a database connection error occurs, the exporter logs the full connection string, which contains the cleartext password, to its logs. This is an instance of CWE-532 (Insertion of Sensitive Information into Log File). The root cause is that the password is embedded in the DATA_SOURCE_NAME environment variable rather than being passed separately, so error-handling routines that log the connection string inadvertently disclose the secret. The fix (PRs canonical/postgresql-operator#1863, canonical/charmed-postgresql-snap#305, canonical/charmed-postgresql-snap#307) changes the exporter to use DATA_SOURCE_URI and separate DATA_SOURCE_USER/DATA_SOURCE_PASS variables, preventing the password from appearing in logged connection strings. Affected products are identified by CPE cpe:2.3:a:canonical:postgresql-operator:*:*:*:*:*:*:*:* and EUVD lists affected versions as postgresql-operator 0 <1189, 0 <1216, 0 <1190, 0 <1217.

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 (canonical) PRIMARY 5.3 MEDIUM
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N
vuln.today AI 4.3 MEDIUM

Reading the exporter logs requires some authenticated/positioned access so PR:L; only a read-only monitoring password is disclosed 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 (canonical).

CVSS VectorVendor: canonical

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
None
Privileges Required
Low
User Interaction
None
Vulnerable system: Confidentiality
Low
Vulnerable system: Integrity
None
Vulnerable system: Availability
None
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

DescriptionCVE.org

The postgresql-operator charm runs a Prometheus postgres_exporter to collect database metrics using a dedicated "monitoring" PostgreSQL user. On database connection errors, the exporter writes the monitoring user's password in cleartext to its logs. Any actor able to read those logs can recover the password, which grants read-only pg_monitor access to PostgreSQL. This is fixed in the dev track (14/edge) in revisions 1189 (arm64) and 1190 (amd64), and in the stable track (14/stable) in revisions 1216 (arm64) and 1217 (amd64).

Threat Intelligence Overview

EPSS Score
0.3%
Top 80% exploitable
Prevalence
Low
Canonical Juju charm, niche to Charmed/Juju-operated PostgreSQL deployments
Social Media
1
Sightings
Data Quality
7 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment CIRCL GitHub VulDB

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 0.3%
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
None
System Exposure· derived
Open
Automatable
No
Human Impact· derived
Medium
Technical Impact
Partial

Priority Score

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