Impact
In PostgreSQL JDBC Driver releases 42.7.4 through 42.7.11, the requirement to use channel binding with SCRAM‑SHA‑256‑PLUS can be silently downgraded to plain SCRAM‑SHA‑256 when the server presents a certificate whose signature algorithm does not provide a tls‑server‑end‑point channel‑binding hash. In these cases, the bundled scram‑client returns an empty byte array, and the pgJDBC ScramAuthenticator only verifies that the server advertised a PLUS mechanism, ignoring the missing binding. This flaw lets an attacker intercept the TLS session, enforce a downgrade, and potentially authenticate as an arbitrary user or gain unauthorized access, despite the channelBinding=require setting. The weakness is identified as CWE‑636 and CWE‑757.
Affected Systems
The vulnerability affects the open‑source PostgreSQL JDBC Driver (pgjdbc) in versions 42.7.4 through 42.7.11. It applies to any application that uses this driver with channelBinding=require enabled and connects to a PostgreSQL server over TLS.
Risk and Exploitability
The CVSS score of 8.2 indicates a high severity impact. Exploitation requires an attacker to intercept the TLS session, supply a specially crafted certificate that lacks a channel‑binding hash, so the threat is limited to environments where a man‑in‑the‑middle attack is feasible. The EPSS score of < 1% indicates a very low but nonzero probability of exploitation, and the vulnerability is not listed in CISA’s KEV catalog, suggesting no widespread exploitation to date. Nevertheless, the silent downgrade presents a significant risk to confidentiality and integrity for systems that rely on channel binding to defend against MITM attacks.
OpenCVE Enrichment
Github GHSA