紀錄工作經驗、相關知識,解決技術相關問題。

時事新聞, 資訊相關

Apache HTTP Server CVE-2026-119618 HTTP/2 遠端程式碼執行漏洞:確認版本與更新到 2.4.71

Apache HTTP Server CVE-2026-119618 HTTP/2 遠端程式碼執行漏洞:確認版本與更新到 2.4.71 特色圖片

Apache HTTP Server 是很常見的網站伺服器軟體,不少公司官網、WordPress 主機和內部系統背後都是它在處理網頁請求。2026 年 5 月官方才修補過另一個 HTTP/2 相關、官方列為重要等級(important)的問題(CVE-2026-23918),這個月又出現新的一個。

這次是 CVE-2026-119618,出問題的是負責 HTTP/2 的 mod_http2 模組,Apache 官方標為 Critical,成功利用可能讓攻擊者遠端執行程式碼。官方在 2026-11-11 釋出 2.4.71 修補。我們來看看該先做什麼,以及怎麼確認自己有沒有中。

先做這件事:更新 Apache

最直接的做法:把 Apache HTTP Server 更新到 2.4.71 或更新的版本。

Apache 官方公告頁把這個漏洞列在「Fixed in Apache HTTP Server 2.4.71」底下,沒有提供設定上的解法,列出的處理方式就是升級。

如果 Apache 是用 Debian、Ubuntu、RHEL 這類發行版的套件管理器裝的,就等發行版推出修補套件再更新,不要自己下載原始碼覆蓋。版本號怎麼對照,看下一節。

怎麼確認自己的版本有沒有受影響

查 Apache 版本

在主機上執行下面的指令,看 Server version 那行:

httpd -v

Debian、Ubuntu 的執行檔通常叫 apache2:

apache2 -v

也可以用套件管理器查已安裝版本:

# Debian / Ubuntu
apt-cache policy apache2

# RHEL 系列
rpm -q httpd

對照受影響範圍

項目內容
受影響版本Apache HTTP Server 2.4.55 到 2.4.70
已修補版本2.4.71(2026-11-11 釋出)
獨立版 mod_h2(GitHub)2.0.8 到 2.0.42
觸發條件伺服器有啟用 HTTP/2

例如 Server version: Apache/2.4.58 落在 2.4.55 到 2.4.70 之間,有開 HTTP/2 就要處理;Apache/2.4.71 則已包含修補。

Apache 官方文件說明,HTTP/2 要靠 Protocols 指令啟用。設定檔裡有 Protocols h2 http/1.1 或 Protocols h2 h2c http/1.1 就代表有開。Red Hat 的 CVE 頁面也表示,只提供 HTTP/1.1 的伺服器不受影響。可以這樣搜尋(Debian 系設定檔多在 /etc/apache2,RHEL 系多在 /etc/httpd):

grep -R "Protocols" /etc/apache2 /etc/httpd 2>/dev/null
apachectl -M | grep http2

發行版的版本號要另外看

發行版會自己重新打包,套件版本號不一定和 Apache 官方同步,要回到發行版自己的安全追蹤頁確認。Debian Security Tracker 針對這個 CVE,撰稿時的狀態是:

發行版apache2 套件版本狀態
Debian trixie(security)2.4.71-1~deb13u1已修補
Debian sid2.4.71-1已修補
Debian bookworm(security)2.4.67-1~deb12u3仍列為有漏洞,未列修補版本

RHEL 方面,Red Hat 表示 RHEL 9 與 10 受影響,嚴重度為 Important,RHEL 8 以前不受影響;撰稿時頁面上沒有看到修補 errata 資訊。Ubuntu 的 CVE 頁面我撰稿時沒有查到資料,使用 Ubuntu 的讀者請自行到 Ubuntu Security 查詢 apache2 的最新狀態。

漏洞內容

官方描述:mod_http2 的 assign_headers() 在存取共用資源時缺少適當同步(race condition),造成 heap 記憶體損毀,進而可能遠端執行程式碼。修補 commit 是 2.4.x 分支的 824beab。

雲端資安公司 Wiz 的文章補充:攻擊者從遠端發動、不需要驗證身分,程式碼會以網頁伺服器行程的權限執行;發文時(2026-11-11)沒有公開攻擊程式,也沒有在野外被利用的回報。Wiz 的資料顯示 64% 的雲端環境有受影響資源,51% 有對外公開的執行個體,不過這個比例沒有排除實際設定,不等於真正可被利用的比例。

以上統計與「尚未被利用」的說法出自 Wiz,截至撰稿時,Apache 官方公告沒有相關說明。有需要的讀者可以之後再到 Apache HTTP Server 官方安全公告頁查詢最新狀態。

官方記載的時間軸是:2026-10-26 回報給 Anthropic 資安團隊,2026-11-03 回報給 Google 資安團隊,2026-11-11 修補。發現者列的是 Anthropic 的 OSS Scanner,以及 Google Cloud Vulnerability Research 的 Anthony Weems 與 Simon Scannell。

暫時無法更新怎麼辦

先講清楚:Apache 官方公告沒有提供暫時緩解方案,正解仍是更新。

一時更新不了的話,Wiz 建議關閉 HTTP/2,改成只用 HTTP/1.1。做法在 Apache 官方 HTTP/2 說明文件裡:從 Protocols 拿掉 h2、h2c,或不載入 mod_http2 模組。

Protocols http/1.1

放在伺服器層級就是整台都不用 HTTP/2。官方文件示範過可以只在特定 VirtualHost 啟用 HTTP/2,所以每個 <VirtualHost> 裡的 Protocols 都要檢查,確保沒有留著 h2。改完要重新載入 Apache 設定才會生效。

這只是更新前的過渡做法,關掉後瀏覽器會改走 HTTP/1.1,載入效能可能受影響;更新到 2.4.71 後可以再改回來。

參考資料與延伸閱讀

發佈留言