选择 打开 改范围 完整检索页

PostgreSQL JDBC 42.7.12 安全发布

发布于 2026-07-06,JDBC Project
安全相关 专有软件

原文: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
  • pgJDBC 没有在关键位置强制执行 channelBinding=requireScramAuthenticator 只检查服务器是否声明了 -PLUS 机制;它既不会拒绝空绑定,也不会检查协商出的机制确实使用了通道绑定。因此连接会静默降级。

只有设置了 channelBinding=require 的连接受影响。在默认的 prefer 策略下,以及 allowdisable 策略下,回退到普通 SCRAM 是符合文档说明的行为。

42.7.4 之前的版本不受影响,因为这些版本不支持通道绑定。