BIND 9 修補14漏洞,一個請求癱瘓 named
oss-security / ISC · 2026-09-16
一個未經任何身分驗證的 DNS-over-HTTPS 請求,只要在其中夾帶一組刻意構造成無效格式的 SIG(0) 簽章紀錄,再於伺服器處理到一半時強制中斷連線,就足以讓全球部署最廣的 DNS 伺服器軟體 named 直接中止服務。ISC 已於 2026 年 9 月 16 日透過 oss-security 郵件列表公開這輪修補,一次揭露 14 個 BIND 9 CVE,橫跨未授權存取、當機、快取驗證瑕疵與放大攻擊四大類。多數問題已在 9.20.29 與 9.21.26 兩個版本中修復。
漏洞機制
最嚴重的是 CVE-2026-77692,CVSS 評分達 7.5。SIG(0) 是 RFC 2931 定義的交易簽章機制,概念上類似 TSIG,但改用非對稱式公開金鑰簽章,常見於動態更新(dynamic update)等需要驗證來源的操作;DoH(DNS-over-HTTPS)則是把 DNS 訊息包在 HTTPS 連線裡傳輸。攻擊者只要送出一個帶有格式錯誤 SIG(0) 紀錄的 DoH 查詢,並在 named 處理途中提前把連線切斷,伺服器就會直接崩潰。整個攻擊不需要任何帳號、金鑰或前置條件,一個請求就能讓服務下線。
第二個重點是 CVE-2026-81736,同樣拿下 7.5 分。SVCB/HTTPS 是 RFC 9460 定義的服務繫結紀錄,其中的 AliasMode 用法類似 CNAME,讓一個網域名稱指向另一個實際提供服務的目標;解析器在快取這類紀錄時會把它們組成樹狀結構。當有人查詢這種快取樹的根節點時,named 在組出回應的過程中會耗費異常大量的 CPU 運算,形成單純靠查詢就能觸發的演算法複雜度攻擊。受影響範圍比 DoH 那顆更廣,連舊版的 9.18 ESV 分支都中鏢。
第三個列入重點的是 CVE-2026-19668,官方標題為「Excessive DNSSEC Cryptographic Material Matching」導致資源耗盡。DNSSEC 驗證時,解析器必須把收到的 RRSIG 簽章逐一比對可用的 DNSKEY,才能確認資料完整性;如果一個惡意或設定錯誤的區域刻意塞入大量金鑰與簽章組合,解析器就得反覆嘗試比對,直到 CPU 與記憶體被大量消耗。這類問題不需要漏洞利用技巧,單純用「量」就能把資源耗盡,因此也被歸類在阻斷服務風險中。
其餘 11 個 CVE 多半屬於當機、快取驗證與放大攻擊類型,嚴重度普遍低於前三者,以下依類別列出。
| CVE | 類型 | 影響 |
|---|---|---|
CVE-2026-77692 | 未授權遠端當機 | 單一 DoH SIG(0) 請求即可讓 named 中止服務(CVSS 7.5) |
CVE-2026-81736 | CPU 資源耗盡 | 查詢快取的 SVCB/HTTPS AliasMode 樹狀結構觸發 CPU 飆升(CVSS 7.5) |
CVE-2026-19668 | 資源耗盡 | 過量 DNSSEC 加密材料比對耗盡解析器資源 |
- 身分驗證繞過:未經 TSIG 驗證即套用的 IXFR 差異更新(
CVE-2026-19033) - 當機/中止類阻斷服務,共 5 個:NOQNAME use-after-free、DNS64 use-after-free、ncache_add 斷言失敗、TKEY 查詢當機、NOQNAME proof 快取中止(
CVE-2026-19662、CVE-2026-19666、CVE-2026-19667、CVE-2026-76163、CVE-2026-80274) - 快取/驗證瑕疵,共 4 個:萬用字元不存在證明繞過、NSEC3 快取誤用、越區節點被誤判為權威、SVCB AliasMode 快取參照洩漏(
CVE-2026-19941、CVE-2026-77119、CVE-2026-78301、CVE-2026-81563) - 放大攻擊:訊息解析器保留重複的單例 RDATA,可被用來放大流量(
CVE-2026-75029)
受影響版本
這次受影響的版本橫跨 BIND 9 目前維護中的三條分支:9.18 ESV、9.20 ESV 與 9.21 開發分支。以 CVE-2026-81736 為例,受影響範圍從 9.18.0 一路到 9.18.50、9.20.0 到 9.20.27,以及 9.21.0 到 9.21.25,幾乎所有還在使用的版本都中標。CVE-2026-77692 的受影響範圍則只落在 9.20 與 9.21 兩條分支,9.18 並未受此顆影響。換言之,光看單一 CVE 判斷是否需要升級並不夠,必須把 14 個項目全部比對過一輪。
ISC 這次釋出的修補版本是 9.20.29 與 9.21.26,訂閱 Supported Preview Edition 的用戶則對應 9.20.29-S1。值得留意的是,雖然 9.18 ESV 分支同樣列在 CVE-2026-81736 的受影響清單裡,但這次公告並沒有釋出對應的 9.18.x 修補版本。還在使用 9.18 分支的維運者等於沒有官方修補可用,必須評估直接升級到 9.20 或 9.21 分支。
修補與緩解
對於本輪最嚴重的兩個問題,ISC 在各自的公告中都明確寫出「no workarounds known」,也就是沒有暫行的設定緩解方式,升級是唯一解法。CVE-2026-77692 的觸發前提是伺服器本身有開啟 DoH 監聽(也就是 named.conf 裡設定了 listen-on ... http 之類的區塊);如果部署本來就沒有對外提供 DoH 服務,自然不會落在這條攻擊路徑上,但這只是預設關閉帶來的天然防護,並非 ISC 認可的正式緩解措施。換句話說,沒開 DoH 不等於安全,其餘 13 個 CVE 該修的還是得修。
整體而言,這輪修補沒有取巧空間:無論是身分驗證繞過、當機、快取驗證瑕疵還是放大攻擊,官方給出的答案都是升級到 9.20.29 或 9.21.26。使用 Supported Preview Edition 的訂閱用戶則對應升級到 9.20.29-S1。由於 14 個 CVE 中有多顆是遠端可觸發的當機或資源耗盡,建議儘快排入維護窗口,不要等到下一輪例行更新。
原始來源:oss-security: ISC discloses fourteen vulnerabilities in BIND 9