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).
Monitoring-user password logged in cleartext by postgres_exporter in postgresql VM charm
Problem type
Affected products
Canonical
< 1189 - AFFECTED
< 1190 - AFFECTED
< 1216 - AFFECTED
< 1217 - AFFECTED
References
https://github.com/canonical/postgresql-operator/security/advisories/GHSA-rcx7-7rh5-r542
https://github.com/canonical/postgresql-operator/pull/1863
https://github.com/canonical/charmed-postgresql-snap/pull/305
https://github.com/canonical/charmed-postgresql-snap/pull/307
GitHub Security Advisories
GHSA-3533-w4pf-7x2r
The postgresql-operator charm runs a Prometheus postgres_exporter to collect database metrics...
https://github.com/advisories/GHSA-3533-w4pf-7x2rThe 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).
https://github.com/canonical/postgresql-operator/security/advisories/GHSA-rcx7-7rh5-r542
https://nvd.nist.gov/vuln/detail/CVE-2026-104055
https://github.com/canonical/charmed-postgresql-snap/pull/305
https://github.com/canonical/charmed-postgresql-snap/pull/307
https://github.com/canonical/postgresql-operator/pull/1863
https://github.com/advisories/GHSA-3533-w4pf-7x2r
JSON source
https://cveawg.mitre.org/api/cve/CVE-2026-104055Click to expand
{
"dataType": "CVE_RECORD",
"dataVersion": "5.2",
"cveMetadata": {
"cveId": "CVE-2026-104055",
"assignerOrgId": "cc1ad9ee-3454-478d-9317-d3e869d708bc",
"assignerShortName": "canonical",
"dateUpdated": "2026-10-02T20:35:50.514Z",
"dateReserved": "2026-10-01T18:01:17.865Z",
"datePublished": "2026-10-02T20:35:50.514Z",
"state": "PUBLISHED"
},
"containers": {
"cna": {
"providerMetadata": {
"orgId": "cc1ad9ee-3454-478d-9317-d3e869d708bc",
"shortName": "canonical",
"dateUpdated": "2026-10-02T20:35:50.514Z"
},
"title": "Monitoring-user password logged in cleartext by postgres_exporter in postgresql VM charm",
"descriptions": [
{
"lang": "en",
"value": "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)."
}
],
"affected": [
{
"vendor": "Canonical",
"product": "postgresql-operator",
"collectionURL": "https://charmhub.io/postgresql",
"packageName": "charmed-postgresql",
"platforms": [
"Linux"
],
"repo": "https://github.com/canonical/postgresql-operator",
"defaultStatus": "unaffected",
"versions": [
{
"version": "0",
"status": "affected",
"versionType": "charm-revision",
"lessThan": "1189"
},
{
"version": "0",
"status": "affected",
"versionType": "charm-revision",
"lessThan": "1190"
},
{
"version": "0",
"status": "affected",
"versionType": "charm-revision",
"lessThan": "1216"
},
{
"version": "0",
"status": "affected",
"versionType": "charm-revision",
"lessThan": "1217"
}
]
}
],
"problemTypes": [
{
"descriptions": [
{
"lang": "en",
"description": "CWE-532 Insertion of sensitive information into log file",
"cweId": "CWE-532",
"type": "CWE"
}
]
}
],
"references": [
{
"url": "https://github.com/canonical/postgresql-operator/security/advisories/GHSA-rcx7-7rh5-r542",
"tags": [
"vendor-advisory"
]
},
{
"url": "https://github.com/canonical/postgresql-operator/pull/1863",
"tags": [
"patch"
]
},
{
"url": "https://github.com/canonical/charmed-postgresql-snap/pull/305",
"tags": [
"patch"
]
},
{
"url": "https://github.com/canonical/charmed-postgresql-snap/pull/307",
"tags": [
"patch"
]
}
],
"impacts": [
{
"capecId": "CAPEC-37",
"descriptions": [
{
"lang": "en",
"value": "CAPEC-37 Retrieve Embedded Sensitive Data"
}
]
}
],
"metrics": [
{
"format": "CVSS",
"scenarios": [
{
"lang": "en",
"value": "GENERAL"
}
]
}
],
"credits": [
{
"lang": "en",
"value": "Allan Vidal",
"type": "reporter"
}
]
}
}
}