CVE-2026-54291
Silent channel-binding authentication downgrade via unsupported certificate algorithms
Reported by github_m · Published July 6, 2026
postgresql is fixed in 42.7.12 (Maven Central)
pgjdbc is an open source postgresql JDBC Driver. In releases 42.7.4 through 42.7.11, channelBinding=require connections can be silently downgraded from SCRAM-SHA-256-PLUS with channel binding to plain SCRAM-SHA-256 without it, losing the man-in-the-middle protection the setting is meant to guarantee. An attacker who can intercept the TLS connection can trigger the downgrade with a certificate whose signature algorithm has no tls-server-end-point channel-binding hash, because the bundled com.ongres.scram:scram-client returns an empty byte array instead of failing and pgJDBC ScramAuthenticator checks only that the server advertised a PLUS mechanism, without rejecting the empty binding or checking that the negotiated mechanism uses channel binding. This issue is fixed in version 42.7.12.
Fixed versions
Upgrade to a fixed version or later. Language registries are listed first, then Linux distributions, then vendor products.
| Package | Ecosystem | Fixed in |
|---|---|---|
| org.postgresql:postgresql | Maven Central | 42.7.12 |
| keycloak-26.6 | Wolfi | 26.6.4-r19 |
| kayenta-2026.0 | Chainguard | 2026.0.4-r16 |
| conductor | Chainguard | 3.31.0-r6 |
| apache-hop | Chainguard | 2.19.0-r1 |
| thingsboard | Wolfi | 4.3.1.3-r8 |
| request-9047-keycloak-fips-26.4 | Chainguard | 26.4.7-r24 |
| sonarqube | Chainguard | 26.7.0.124771-r1 |
| keycloak-26.6 | Chainguard | 26.6.4-r19 |
| druid | Chainguard | 37.0.0-r56, 37.0.0-r43 |
| dependency-track-apiserver-4 | Chainguard | 4.14.3-r1 |
| ghidra | Chainguard | 12.1.2-r4 |
10 more packages have a fixed version. See every fix in Lookup.
Risk scores
Affected products
| Vendor | Product | Versions |
|---|---|---|
| pgjdbc | pgjdbc | >= 42.7.4, < 42.7.12 |
| wolfi | keycloak-26.6 | 0 |
| chainguard | kayenta-2026.0 | 0 |
| chainguard | conductor | 0 |
| chainguard | apache-hop | 0 |
| wolfi | thingsboard | 0 |
| chainguard | request-9047-keycloak-fips-26.4 | 0 |
| Maven | org.postgresql:postgresql | 42.7.4 |
| chainguard | sonarqube | 0 |
| chainguard | keycloak-26.6 | 0 |
| chainguard | druid | 0, 0 |
| chainguard | dependency-track-apiserver-4 | 0 |
| chainguard | ghidra | 0 |
| chainguard | flyway-fips | 0 |
| chainguard | conductor-fips | 0 |
| chainguard | camunda-8.8 | 0 |
| chainguard | keycloak-fips-26.6 | 0 |
| chainguard | keycloak-26.7 | 0 |
| wolfi | apicurio-registry | 0 |
| chainguard | nacos-docker | 0 |
…and 38 more
Timeline
- Jul 6, 2026 CVE Published
- Jul 7, 2026 EPSS Score (17 in total, the first dated here)
- Jul 7, 2026 Coalition ESS Score
- Jul 9, 2026 CVE Updated
- Aug 16, 2026 Distribution Patch (2 in total, the first dated here)
- Aug 16, 2026 Security Advisory (3 in total, the first dated here)
Query this with the API
The same record, from the CLI:
vulnetix vdb vuln CVE-2026-54291
vulnetix vdb fixes CVE-2026-54291
Or with curl, using the org id and key from your account page:
curl -s -H "Authorization: ApiKey ${VULNETIX_ORG_ID}:${VULNETIX_API_KEY}" \
"https://api.vdb.vulnetix.com/v2/vuln/CVE-2026-54291/fixes/registry"
The Community plan is free and allows 50 queries a day. Get a free API key · API quickstart
References
- https://github.com/pgjdbc/pgjdbc/security/advisories/GHSA-j92g-9f8w-j867 x_refsource_CONFIRM
- https://github.com/pgjdbc/pgjdbc/commit/77df98e4e66c12936ded3478a0954f6f580bad99 x_refsource_MISC
- https://github.com/ongres/scram/releases/tag/3.3 x_refsource_MISC
- https://nvd.nist.gov/vuln/detail/CVE-2026-54291 advisory
- https://github.com/advisories/GHSA-j92g-9f8w-j867 advisory