Description
Observable response discrepancy in PostgreSQL SCRAM authentication allows an unauthenticated user to test the existence of a user via observing the SCRAM iteration count. This requires the probed user to have a non-default scram_iterations count, because the authentication challenge for a nonexistent user reports the default scram_iterations. Within major versions 16-18, minor versions before PostgreSQL 18.6, 17.11, and 16.15 are affected. Versions before PostgreSQL 16 are unaffected.
Published: 2026-08-13
Score: 5.3 Medium
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

The vulnerability arises from an observable discrepancy in the number of SCRAM authentication iterations returned by PostgreSQL. When a user account has a non‑default scram_iterations setting, the server uses that custom value for authenticating an existing username but returns the default iteration count for a nonexistent username. An unauthenticated attacker can therefore initiate a SCRAM authentication attempt, observe the iteration count in the challenge response, and determine whether a particular account exists in the database. This knowledge is purely informational; it does not grant credentials or elevate privileges, but it can facilitate credential-guessing or targeted social engineering. The weakness is related to authorization error, as represented by CWE‑204.

Affected Systems

The vulnerability affects PostgreSQL 16.0 through 16.14, PostgreSQL 17.0 through 17.10, and PostgreSQL 18.0 through 18.4. All releases prior to PostgreSQL 16 are not affected. The flaw only applies when users have a custom scram_iterations configuration; systems that keep the default setting are not impacted.

Risk and Exploitability

The CVSS base score is 5.3, indicating a moderate risk. Exploitation requires only passive observation of the authentication handshake, so an attacker can test for usernames from any network access point without credentials. The EPSS score of 0.00252 (<1%) suggests a very low probability of exploitation in the wild. It is not listed in the CISA KEV catalog. The typical attack path involves a simple network probe that initiates a SCRAM authentication sequence with a candidate username and records the iteration count in the challenge; a mismatch with the default indicates the account exists.

Generated by OpenCVE AI on August 30, 2026 at 00:53 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade PostgreSQL to version 16.15, 17.11, 18.5, or newer to apply the vendor fix.
  • Reconfigure the scram_iterations parameter for all users to use the database default value; this removes the observable difference between valid and invalid usernames.
  • Enable logging and monitoring of authentication attempts to detect repeated SCRAM challenges to unknown or unguessable usernames.

Generated by OpenCVE AI on August 30, 2026 at 00:53 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Debian DSA Debian DSA DSA-6438-1 postgresql-17 security update
Ubuntu USN Ubuntu USN USN-8653-1 PostgreSQL vulnerabilities
History

Sat, 29 Aug 2026 23:15:00 +0000

Type Values Removed Values Added
Description Observable response discrepancy in PostgreSQL SCRAM authentication allows an unauthenticated user to test the existence of a user via observing the SCRAM iteration count. This requires the probed user to have a non-default scram_iterations count, because the authentication challenge for a nonexistent user reports the default scram_iterations. Within major versions 16-18, minor versions before PostgreSQL 18.5, 17.11, and 16.15 are affected. Versions before PostgreSQL 16 are unaffected. Observable response discrepancy in PostgreSQL SCRAM authentication allows an unauthenticated user to test the existence of a user via observing the SCRAM iteration count. This requires the probed user to have a non-default scram_iterations count, because the authentication challenge for a nonexistent user reports the default scram_iterations. Within major versions 16-18, minor versions before PostgreSQL 18.6, 17.11, and 16.15 are affected. Versions before PostgreSQL 16 are unaffected.

Wed, 19 Aug 2026 15:15:00 +0000

Type Values Removed Values Added
CPEs cpe:2.3:a:postgresql:postgresql:*:*:*:*:*:*:*:*

Thu, 13 Aug 2026 16:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'none', 'Technical Impact': 'partial'}, 'version': '2.0.3'}


Thu, 13 Aug 2026 15:00:00 +0000

Type Values Removed Values Added
First Time appeared Postgresql
Postgresql postgresql
Vendors & Products Postgresql
Postgresql postgresql

Thu, 13 Aug 2026 13:15:00 +0000

Type Values Removed Values Added
Description Observable response discrepancy in PostgreSQL SCRAM authentication allows an unauthenticated user to test the existence of a user via observing the SCRAM iteration count. This requires the probed user to have a non-default scram_iterations count, because the authentication challenge for a nonexistent user reports the default scram_iterations. Within major versions 16-18, minor versions before PostgreSQL 18.5, 17.11, and 16.15 are affected. Versions before PostgreSQL 16 are unaffected.
Title PostgreSQL observable response discrepancy with non-default scram_iterations provides user existence oracle
Weaknesses CWE-204
References
Metrics cvssV3_1

{'score': 5.3, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N'}


Subscriptions

Postgresql Postgresql
cve-icon MITRE

Status: PUBLISHED

Assigner: PostgreSQL

Published:

Updated: 2026-08-29T23:07:17.450Z

Reserved: 2026-07-03T20:28:13.749Z

Link: CVE-2026-14672

cve-icon Vulnrichment

Updated: 2026-08-13T15:35:50.664Z

cve-icon NVD

Status : Modified

Published: 2026-08-13T13:17:44.653

Modified: 2026-08-29T23:17:14.557

Link: CVE-2026-14672

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-08-30T01:00:15Z

Weaknesses
  • CWE-204

    Observable Response Discrepancy