10 月 21 日,两大开源 DNS 软件同一天发布了安全更新:ISC 的 BIND 9.20.30(开发版 9.21.27)修复 4 个高危漏洞,NLnet Labs 的 Unbound 1.26.2 修复 5 个漏洞(1 个高危、3 个中危、1 个低危)。如果你在 VPS 上跑自己的递归解析器或权威 DNS,这条和你有关;如果服务器只用系统默认的解析配置(比如 Ubuntu 的 systemd-resolved),没有装 bind9 或 unbound,就不受影响——可以用 named -v 和 unbound -V 确认有没有装。
BIND:4 个高危,全部可以远程利用
- CVE-2026-94300(CVSS 8.1):重放带 GSS-TSIG 签名的 UDP 消息会导致 named 内存损坏。攻击者如果能截获一条之前签过名的 UDP 消息,就可以在协商出的 TSIG 密钥仍然有效时重放它,再配合向自己控制的区发送构造的查询,有可能实现远程代码执行。用到 GSS-TSIG 的一般是和 Active Directory 集成的环境。
- CVE-2026-19630(CVSS 7.5):解析器处理某种特定结构的入站 DNS 消息时没有任何上限,恶意构造的消息可以耗尽 CPU 和内存。
- CVE-2026-96888(CVSS 7.5):同时配置了 redirect 区和
qname-minimization strict的解析器,处理重定向时可能因断言失败而退出。 - CVE-2026-97313(CVSS 7.5):允许递归、并且至少配置了两个 RPZ 区(一个
recursive-only yes、一个recursive-only no)的服务器,先收到 RD=1 的查询、再收到 RD=0 的查询时,可能因断言失败而退出。 - 受影响范围:9.11.0 到 9.18.50、9.20.0 到 9.20.29、9.21.0 到 9.21.26(96888 和 97313 从 9.16.0 起)。ISC 对 4 个漏洞都写着没有已知的临时缓解办法,也都没有发现在野利用。
- 要注意:ISC 下载页上 9.18.50 已经标为 EOL,9.18 分支虽然在受影响范围内,但 ISC 的修复版本只有 9.20.30 和 9.21.27。9.20 的支持期到 2028 年第二季度。
Unbound:最严重的那个只影响开了 DoQ 的
- CVE-2026-97206(高危,影响 1.22.0 到 1.26.1):多线程运行时,远程的 DNS-over-QUIC(DoQ)客户端可以触发 QUIC 路径迁移,导致释放后使用、进程崩溃。没有提供 DoQ 服务的,不受这一条影响。
- CVE-2026-109125(中危,缓存投毒):只有把
unwanted-reply-threshold设为大于 0 时(这不是默认配置),才存在一个可用来探测上游源端口的缓存侧信道。 - CVE-2026-96405(中危):大量链式压缩指针会让 Unbound 消耗大量 CPU;1.26.2 给每个上游应答包加了 2048 次、每个区传送包加了 128,000 次的总解压上限。
- 另有 CVE-2026-50106(中危)和 CVE-2026-35501(低危),都和配置了「信任孤岛」(island trust anchor)时的 DNSSEC 验证有关。
发行版进度(截至 10 月 26 日)
Debian 13 已经出了修复包:bind9 1:9.20.30-1~deb13u1,unbound 1.26.2-0+deb13u1。Ubuntu 22.04 和 24.04 自带的是 9.18 系列的 bind9(9.18.39),这几个 CVE 在 Ubuntu 的页面上还标着待评估或待修复;Debian 12 也还没修。注意 Ubuntu 10 月 14 日的 USN-8929-1 修的是之前一批 BIND 漏洞,不包括这 4 个。补丁出来之前能做的是收紧访问:递归解析器只对自己的服务器和内网开放,不要做开放解析器,用防火墙限制能访问 53 端口的来源,方法见 VPS 安全加固入门:ufw 防火墙与 SSH 密钥登录;服务器被当成放大攻击跳板时的应急处理见 VPS 遭遇 CC / DDoS 攻击的应急处理。如果你只是想把域名解析到 VPS,用注册商或 DNS 服务商提供的托管解析就够了,不必自建,参见把域名解析到 VPS:DNS 配置入门。