資安雷達 2026 年 6 月 26 日

2026-06-26 — libexpat 2.8.2 修補 13 漏洞、PowerDNS Recursor 8 個 CVE、Go SSH 套件驗證繞過 CVSS 9.1

primary=https://github.com/libexpat/libexpat/releases/tag/R_2_8_2 primary=https://github.com/libexpat/libexpat/blob/R_2_8_2/expat/Changes primary=https://blog.powerdns.com/2026/06/25/powerdns-security-advisory-2026-08-for-powerdns-recursor primary=https://docs.powerdns.com/authoritative/security-advisories/powerdns-advisory-2026-07.html primary=https://github.com/advisories/GHSA-5cgq-3rg8-m6cv primary=https://pkg.go.dev/vuln/GO-2026-5021

libexpat 2.8.2 修補 13 項漏洞:整數溢位與越界存取全面整治

libexpat GitHub Releases · 2026-06-25

2026 年 6 月 25 日,XML 解析函式庫 libexpat 發布 2.8.2 版本,一次性修補 13 項安全漏洞,涵蓋多個整數溢位(CWE-190)與越界陣列存取(CWE-125)問題。受影響的程式路徑廣泛分佈於核心解析函式與命令列工具 xmlwf,所有使用 libexpat 2.8.2 以前版本的應用程式均建議立即升級。

漏洞機制

此次修補的漏洞主要分為兩大類型。整數溢位漏洞集中在 libexpat 核心函式中,包括 storeAttsaddBindinggetAttributeIdXML_ParseBuffertextLen 處理以及 copyString 等六個函式(CVE-2026-56403CVE-2026-56408)。這些函式在處理 XML 文件的屬性、命名空間繫結或緩衝區內容時,若輸入資料刻意構造,可觸發整數溢位並導致記憶體損毀。

xmlwf 工具同樣存在三個整數溢位漏洞(CVE-2026-56409CVE-2026-56411),分別出現於路徑拼接、resolveSystemId 函式以及 NOTATION 宣告的記憶體分配路徑中。越界存取漏洞CVE-2026-56132)則位於 doProlog 函式的腳架索引(scaffolding index)寫入邏輯,屬於陣列越界寫入問題。

此外,CVE-2026-50219CVE-2026-56131 屬於處理器(handler)保護繞過問題:前者禁止在 handler 呼叫期間再次呼叫 XML_GetBufferXML_ParseXML_ParseBuffer;後者則封堵 CVE-2026-50219 殘留的缺口,防止 XML_ResumeParser 在 handler 內部被呼叫,避免記憶體損毀。CVE-2026-56412 則修補了 doCdataSectionXML_TOK_DATA_CHARS handler 呼叫缺乏保護的問題。

受影響版本

  • libexpat < 2.8.2(所有平台):CVE-2026-50219CVE-2026-56131CVE-2026-56132CVE-2026-56403CVE-2026-56412
  • xmlwf(libexpat 內建命令列工具)含整數溢位:CVE-2026-56409CVE-2026-56410CVE-2026-56411

需特別注意,CVE-2026-56406 的 CVSS v3.1 評分為 6.9(中),攻擊向量為本機(Local)。漏洞觸發路徑在 XML_ParseBuffer 函式中缺少 XML_Parse 已有的整數溢位檢查,使惡意輸入有機會繞過邊界驗證,造成高度的機密性與完整性衝擊。下游整合 libexpat 的語言執行時期(如 Python pyexpat、PHP XML 擴展)同樣受到影響,需關注對應的發行版更新。

修補與緩解

官方修補方式為升級至 libexpat 2.8.2。原始碼與預編譯二進位(含 Windows 版本)已發布於 GitHub Releases 頁面,所有版本均附有 GPG 簽章驗證。若短期內無法升級,可考慮限制解析器所接受的 XML 輸入來源,避免接受來自不受信任端的任意 XML 文件,但此措施僅能降低曝險,無法完全消除風險。

使用 pkg-config --modversion expatdpkg -l libexpat1 可確認目前安裝版本。Debian、Ubuntu、Alpine 等下游發行版通常會在數日內提供更新套件,建議透過各發行版的安全公告訂閱頻道追蹤最新進度。

原始來源:libexpat/libexpat GitHub Releases — R_2_8_2libexpat Changes 檔案(R_2_8_2)


PowerDNS 批次安全公告:Recursor 修補 8 個 CVE,Authoritative Server 修補無限記憶體分配漏洞

PowerDNS Blog · 2026-06-25

2026 年 6 月 25 日,PowerDNS 團隊同步發布安全公告 2026-072026-08,分別針對 Authoritative Server 與 Recursor 兩款產品。Recursor 的更新規模最大,單次修補 8 個 CVE,涵蓋快取毒化、ZONEMD 驗證繞過、資訊洩漏及拒絕服務等多類問題;Authoritative Server 則修補一個可被遠端觸發的無限記憶體分配漏洞。

漏洞機制

安全公告 2026-08 針對 PowerDNS Recursor,修補八項漏洞。其中最嚴重的 CVE-2026-33612(高危)涉及 ZoneToCache 功能可被用於毒化遞迴解析快取,攻擊者若能控制權威 DNS 區域資料即可觸發此問題。CVE-2026-42390 允許攻擊者繞過 ZONEMD 完整性驗證機制,使 Recursor 接受被篡改的區域資料而不發出警告,進一步危及 DNSSEC 保護鏈的完整性。

CVE-2026-40012 屬於資訊洩漏問題:ECS(EDNS Client Subnet)zero-scoped 回應的詳細資訊可能洩漏給下游查詢用戶端。在多租戶或公共遞迴解析服務場景中,此問題可能暴露使用者的查詢子網路資訊CVE-2026-52690 則使攻擊者可透過偽造 DNS 答案,將某一權威伺服器標記為「不支援 EDNS」,進而降低後續查詢的相容性與安全性。

另外三個驗證不足漏洞(CVE-2026-42387CVE-2026-42388CVE-2026-42389)分別對應 ZoneToCache RRSIG 驗證缺陷、catalog zone 輸入驗證空缺,以及對 DNS 標頭欄位無效值的處理不足。CVE-2026-42005 影響 Recursor 的內建 web 伺服器,攻擊者可傳送特製 HTTP 請求造成無上限記憶體消耗,進而引發拒絕服務。

安全公告 2026-07 對應 PowerDNS Authoritative Server 的同一 web 伺服器問題(CVE-2026-42005):在預設關閉的內建 web 伺服器(CWE-770)啟用後,若未限制存取來源,遠端攻擊者即可觸發無限記憶體分配(CVSS 4.3)。此漏洞於 2026 年 4 月 25 日由研究人員 ilya rozentsvaig 回報。Authoritative Server 受影響版本橫跨長達十年的版本歷史,從 3.4.0 至 5.1.1 均受到波及。

受影響版本

PowerDNS Recursor(2026-08)受影響版本:

支援分支受影響版本修補版本
5.2.x5.2.0 – 5.2.105.2.11
5.3.x5.3.0 – 5.3.75.3.8
5.4.x5.4.0 – 5.4.25.4.3

PowerDNS Authoritative Server(2026-07)受影響版本為 3.4.0 至 4.9.15、5.0.5,以及 5.1.1;修補版本為 4.9.16、5.0.6、5.1.2。注意 CVE-2026-42005 同時出現於 Recursor 與 Authoritative Server,兩者均需升級。

修補與緩解

升級至上述修補版本是最直接的修補方式。對於 Recursor,不使用 ZoneToCache 功能的部署可降低 CVE-2026-33612CVE-2026-42387 的曝險程度,但仍需升級以修補其餘漏洞。對於 Authoritative Server,若暫時無法升級,可在防火牆層面限制對內建 web 伺服器(預設連接埠 8081)的存取,僅允許受信任的管理網段連線。

使用 ECS 功能(use-incoming-edns-subnet)的遞迴解析器部署應優先升級,以修補 CVE-2026-40012 的資訊洩漏問題。已啟用 catalog zone 的服務亦需特別注意 CVE-2026-42388 的輸入驗證缺口。

原始來源:PowerDNS Security Advisory 2026-08 for PowerDNS RecursorPowerDNS Security Advisory 2026-07 for Authoritative Server


Go SSH 套件高危漏洞 CVE-2026-42508:已撤銷 CA 金鑰未受正確檢查,身份驗證可被繞過

GitHub Advisory Database (GHSA-5cgq-3rg8-m6cv) · 2026-06-25

Go 官方擴展函式庫 golang.org/x/crypto 的 SSH known hosts 套件存在嚴重身份驗證繞過漏洞,識別為 CVE-2026-42508GHSA-5cgq-3rg8-m6cvGO-2026-5021)。漏洞根源在於 CA 金鑰的 SignatureKey 欄位並未被納入撤銷狀態(@revoked)的驗證流程,使已撤銷的 CA 子金鑰仍可通過驗證,攻擊者藉此得以冒充已撤銷的受信任主機。CVSS v3.1 評分為 9.1(Critical),於 2026 年 6 月 25 日公開揭露。

漏洞機制

golang.org/x/crypto/ssh/knownhosts 套件中,hostKeyDB.IsRevoked 函式負責判斷一把公鑰是否被標記為 @revoked原有邏輯僅對主要金鑰(key)進行撤銷狀態比對,卻未同時檢查關聯的 key.SignatureKey 欄位——當 CA 採用子金鑰(SignatureKey)簽發憑證時,即便該子金鑰已被撤銷,函式仍會回傳「未撤銷」的結果,進而允許以撤銷金鑰簽署的連線通過驗證。

此漏洞的攻擊向量為網路(Network),無需認證亦無需使用者互動(AC:L/PR:N/UI:N),可直接針對使用受影響套件的 SSH 用戶端發動攻擊。成功利用此漏洞的攻擊者可冒充已撤銷金鑰所對應的受信任伺服器,造成高度的機密性與完整性損失(C:H/I:H/A:N)。弱點分類為 CWE-295(Improper Certificate Validation)。EPSS 機率目前為 0.04%,尚無已知在野利用紀錄。

修補程式透過 Go Change List #781220 提交,對應 Go Issue #79568。修補後的邏輯同時對 keykey.SignatureKey 兩個欄位執行撤銷狀態檢查,確保任一欄位被標記為 @revoked 時均能正確拒絕連線。

受影響版本

  • golang.org/x/crypto < v0.52.0(所有使用 knownhosts 套件並依賴 CA 撤銷機制的應用程式)
  • 特別注意:僅在 known_hosts 檔案中使用 @revoked 標記的部署才面臨實際威脅;若未使用 CA 授權或撤銷機制,則無直接風險,但仍建議升級

修補與緩解

唯一完整的修補方式為升級 golang.org/x/cryptov0.52.0 或更新版本,並重新建置所有依賴此套件的服務。可使用 govulncheck 工具掃描專案依賴樹,確認是否仍有受影響版本殘留:

govulncheck ./...

對於無法立即升級的部署,可考慮暫時移除 known_hosts 中的 @revoked 標記,改以其他機制管控金鑰信任關係;但此做法會喪失撤銷保護,不建議長期維持。Go 安全團隊已透過 golang-announce 群組發布公告,建議所有使用者訂閱此群組以接收後續安全通知。

原始來源:GHSA-5cgq-3rg8-m6cv — GitHub Advisory DatabaseGO-2026-5021 — Go Vulnerability Database


End of article
0
Would love your thoughts, please comment.x
()
x