原文:https://www.postgresql.org/about/news/postgresql-jdbc-42712-security-release-3340/
发布日期:2026-07-06
作者:JDBC Project
本次发布修复了静默的通道绑定认证降级问题(CVE-2026-54291)。当连接设置为 channelBinding=require 时,连接可能从带通道绑定的 SCRAM-SHA-256-PLUS 静默降级为不带通道绑定的普通 SCRAM-SHA-256,从而失去该设置本应保证的中间人防护。能够拦截 TLS 连接的攻击者,可以使用签名算法没有 tls-server-end-point 通道绑定哈希的证书触发降级,例如 Ed25519、Ed448 和后量子算法证书。
42.7.4 到 42.7.11 版本中两个问题叠加导致了该漏洞:
com.ongres.scram:scram-client(3.1 或 3.2)在无法为此类证书派生绑定哈希时返回空字节数组,而不是失败。对应库问题记录为 GHSA-p9jg-fcr6-3mhf。channelBinding=require。ScramAuthenticator 只检查服务器是否声明了 -PLUS 机制;它既不会拒绝空绑定,也不会检查协商出的机制确实使用了通道绑定。因此连接会静默降级。只有设置了 channelBinding=require 的连接受影响。在默认的 prefer 策略下,以及 allow 或 disable 策略下,回退到普通 SCRAM 是符合文档说明的行为。
42.7.4 之前的版本不受影响,因为这些版本不支持通道绑定。