メインコンテンツへスキップ
すべての記事

資安週報 2026-W43:PHP、GitLab 與憑證私鑰外洩

カテゴリー 資安 日付 2026-10-25

Author
恩梯科技
13 回閲覧 12 分で読めます

這是恩梯科技資安週報的第一期,涵蓋 2026 年第 43 週(10 月 19 日起),資料讀取到 10 月 24 日為止。

先講結論:這一週要優先處理的是三件事。PHP 兩個可能讓未經認證的人遠端執行程式碼的漏洞;自架的 GitLab 一則官方評為 CVSS 10.0 的漏洞;以及 eMudhra 八張中繼憑證的私鑰外洩——這一條瀏覽器已經自己處理了,但伺服器上的程式語言與容器映像要你自己更新;而如果你網站的憑證鏈接到 emSign ECC Root CA - G3,Chrome 預計 10 月 27 日起不再信任它,要先換憑證。其餘幾則依序列在後面。

怎麼讀這份週報

  • 每一條都標出來源屬於哪一層:〔官方〕是廠商或專案自己的公告,〔研究/媒體〕是資安公司或媒體的說法,排在官方之後。兩者說法不同時,我們把兩邊都寫出來,不替任何一邊下結論。
  • 修補版號一律從官方公告抄,不沿用第二手整理。
  • 要先知道自己在跑哪一版,才能拿去對照這些版號。怎麼查、哪裡最容易查錯,寫在〈你怎麼知道自己在跑哪一版:四個最常被搞錯的地方〉。

一、PHP:兩個未經認證的遠端執行漏洞(10 月 21 日)

〔官方〕PHP 8.5.12、8.4.27、8.3.36、8.2.35 修補了 CVE-2026-109618 與 CVE-2026-109619。php.net 的說法是這兩個漏洞可能讓未經認證的人遠端執行程式碼,影響所有處理網頁請求的 PHP 安裝,包括 PHP-FPM、Apache 的 mod_php、php-cgi、FrankenPHP 與 LiteSpeed,其中官方認為 mod_php 的風險最高。兩則官方安全公告的 CVSS v4 分數都是 9.2。

  • 修補版:8.5.12/8.4.27/8.3.36/8.2.35。
  • 8.1 以前:官方原文寫明 PHP 8.1 以前不再由 PHP 專案更新;這一次官方另外為 7.4、8.0、8.1 提供了精簡的原始碼修補,給自己從原始碼編譯、又沒有長期支援廠商的人用。
  • 用發行版套件裝的:官方說 Linux 發行版與長期支援廠商事先拿到了修補,請看你的發行版公告。發行版的版本號可能看起來比上面的修補版舊、但其實已經修好,判讀方式見上面那篇文章的補充一節。
  • 一時升不了:官方列了幾項暫時的設定,例如把 session.upload_progress.enabled 設成 0 並重啟每一個 worker。但官方原文寫明,這些措施只降低特定攻擊路徑的曝險、不會讓安裝變安全,升級才是完整解法。

〔官方〕10 月 23 日的後續:php.net 另外發了一則資訊性公告(CVE-2026-115560),建議在下一次例行修補版之前,把 session.upload_progress.enabled 設成 0。官方說這個情況只會在不尋常的設定與程式碼組合下發生;10 月 21 日已經照緩解建議關掉這個設定的,不需要再做任何事。

〔官方〕這一次的發布時程被打亂了。PHP 基金會 10 月 21 日的說明是:10 月 20 日兩個 CVE 編號開始在網路上流傳,附帶錯誤的發布時間與錯誤的 CVSS 10.0(實際是 9.2),但沒有技術細節外流。PHP 專案因此把預告提前在 10 月 20 日 19:30(UTC)發布,並把正式發布從 10 月 22 日 14:00(UTC)改到 10 月 21 日 14:00(UTC)。之後,一家通報漏洞的資安公司誤發了一段展示影片(已刪除),基金會說它透露了少量額外細節,並加速了各種概念驗證程式的出現。基金會另外提到,10 月 20 日 23:00(UTC)起提供給部分關鍵基礎設施業者的緩解建議,可能也一併外流。基金會也寫到,一家事先拿到修補的發行商(Chainguard)在協調發布時間六個多小時前,就先發布了含修補的映像;基金會的說法是,任何攻擊者因此可以在其他 PHP 使用者還在等待發布時,先從編譯好的檔案研究這個修補。

關於名稱:Cloudflare、新加坡網路安全局(CSA)、Tenable、Sansec 都把這兩個漏洞合稱 PHP2Shell(或 php2shell);php.net 的公告沒有用這個名字。

利用情況,各方說法不同:

  • 〔官方:PHP 基金會〕在發布與公開揭露的時間點,沒有發現可以實際運作的攻擊程式。
  • 〔官方:CSA〕10 月 23 日更新的警示寫:持續觀察到大範圍的利用嘗試,並請各組織優先處理對外開放的系統。
  • 〔官方:CERT-EU〕建議立刻修補;做不到時,考慮先把對外的應用程式與公共網路隔開,直到修補完成並確認。
  • 〔官方:Cloudflare,就它自己的網路〕表示在正式發布前就觀察到針對其客戶的攻擊流量,並於 10 月 21 日起對使用其 WAF 的客戶預設啟用防護;同時寫明有 WAF 仍然要修補 PHP。
  • 〔研究/媒體:Sansec〕認為攻擊需要對目標伺服器有特定了解、並具備特定條件,大規模利用的可能性比他們原先預期的低——但結論同樣是「還是要更新」。

二、GitLab:自架版要自己升級(10 月 21 日)

〔官方〕GitLab 發布 19.5.1、19.4.3、19.3.6、19.2.9、19.1.9、19.0.10、18.11.13,共修補 12 項(critical 1、high 2、medium 5、low 4)。最嚴重的 CVE-2026-110264 官方評為 CVSS 10.0:在特定條件下,未經認證的人可以透過特製的正規表示式,在 GitLab 伺服器上執行任意程式碼。

  • GitLab.com:官方說已經在修補版上,不必動作。
  • 自架(self-managed):官方強烈建議立刻升級到上面其中一個版本。
  • 官方另外針對 CVE-2026-110264 發布了兩條偵測規則,給自架的使用者查有沒有被嘗試利用。

三、eMudhra 八張中繼憑證私鑰外洩(10 月 17 日起)

〔官方:Mozilla〕依 Mozilla 在 Bugzilla 上的事件紀錄,10 月 17 日有人回報 eMudhra 的八張中繼憑證私鑰已被取得,並附上了掌握私鑰的證明。其中 6 張用於 TLS,受 Chrome、Mozilla、Microsoft 與 Apple 的根憑證計畫信任;另外 2 張用於程式碼簽章,受 Microsoft 信任。Mozilla 自己也在不知道回報者方法的情況下取回了這些私鑰,並說明原因是產生金鑰的方式有缺陷。eMudhra 於 10 月 18 日撤銷了這八張憑證。

〔官方:Google〕Chrome 根憑證計畫說明:這些私鑰產生時的隨機性不足,任何人都能偽造受信任的 HTTPS 憑證去冒充任何網站。Chrome 在 10 月 17 日已透過 CRLSet 封鎖,使用者不必更新或重啟瀏覽器;Android 則透過 Google Play 服務收到同等的更新。Google 也說,在封鎖之前沒有任何鏈接到這六張 TLS 中繼憑證的憑證被記錄到憑證透明度(CT)日誌,所以對強制檢查 CT 的用戶端(包括 Chrome)來說,不可能有偽造憑證被拿來使用。

〔官方:Google〕網站經營者要注意的一件事:Chrome 根憑證庫將移除簽發這些中繼憑證的根憑證 emSign ECC Root CA - G3,預計 2026 年 10 月 27 日(太平洋時間)早上對所有使用 Chrome 根憑證庫的裝置生效。官方寫明,憑證鏈接到這張根憑證的網站,必須立刻改向其他受 Chrome 信任的憑證體系取得並安裝新的 TLS 憑證;否則屆時在 Chrome 上會失效。

〔官方:Cloudflare〕說明它的影響:因為金鑰很弱,攻擊者可以替任何網域偽造憑證、冒充伺服器去攔截或竄改流量。

為什麼伺服器也要處理:瀏覽器可以很快把這些憑證列入封鎖,但伺服器上的程式不一定用瀏覽器的那一份信任清單——很多程式語言、套件與容器映像帶著自己的一份。這一週各家陸續發布了更新:

  • 〔官方〕Go:go1.27.3 與 go1.26.10(10 月 19 日),CVE-2026-111943,在 crypto/x509 加入封鎖清單。
  • 〔官方〕Node.js:22.23.4/24.22.1/26.12.1(10 月 21 日),這次的安全更新裡包含了針對 eMudhra 中繼憑證遭入侵的憑證清單更新。
  • 〔官方〕Electron:45.0.0-beta.6/44.9.1/43.8.1/42.11.16,CVE-2026-115570(GHSA-jr5w-w6x2-84p9;以 44 系列為例,受影響範圍是 44.0.0-alpha.1 以上、44.9.1 以前)。官方寫明沒有應用程式端的替代做法,必須升級。
  • 〔官方〕Composer 的 ca-bundle:1.6.0 與 1.4.16(10 月 20 日),加入了對遭入侵 eMudhra 中繼憑證的不信任設定。
  • 〔官方〕Firefox 與 Thunderbird:Firefox 158.0.1、Firefox ESR 153.5.1 與 115.43.1、Thunderbird 158.0.1 與 153.5.1(10 月 20 日),CVE-2026-113470。Mozilla 說 10 月 17 日已經透過線上更新的封鎖清單擋下,這次是把封鎖清單直接放進程式裡,讓關閉線上更新的環境也擋得到。
  • Python 的 certifi(不在固定清單上,看的是專案自己的發布紀錄):2026.10.18 移除了 emSign 的根憑證,2026.10.19 把未受影響的根憑證放回。

〔官方:Cloudflare〕兩個提醒:更新之後如果開始出現憑證錯誤,不要用關閉驗證的方式解決,那會把這次更新要恢復的保護一起拿掉;更新了依賴之後,要重建映像,並確認應用程式需不需要重新載入、重啟或重新部署才會生效。

四、Node.js(10 月 21 日)

〔官方〕修補版是 22.23.4/24.22.1/26.12.1,共修補 10 個 CVE(high 4、medium 3、low 3),官方標示這次最高的嚴重度是 HIGH。另外更新了 c-ares、OpenSSL、SQLite 等依賴,以及上一節提到的憑證清單。

其中 CVE-2026-111497 在 Brotli 解壓縮:如果應用程式會用 node:zlib 解壓攻擊者提供的 Brotli 資料,可能導致當機、記憶體內容外洩或遠端執行程式碼。

說法不一致的地方:Node.js 官方把 CVE-2026-111497 標為 high;新加坡 CSA 10 月 23 日的警示把同一個漏洞寫成 critical、CVSS 9.8。我們沒有在 Node.js 官方公告裡找到 9.8 這個分數。不管標哪一級,修補版是同一組。

五、Laravel(10 月 19 日)

〔官方〕Laravel 在 GitHub 發布了兩則安全公告:

  • CVE-2026-114509(critical,CVSS v4 9.2):使用內建的 token 型 API guard 時,在 MySQL/MariaDB 的某些資料庫設定下,未經認證的人可能不需要對方的 API token 就以其他使用者的身分登入。
  • CVE-2026-114508(medium,CVSS 6.5):某些唯讀端點在特定條件下,可能被構造成對關聯資料表執行破壞性操作,只有讀取權限的使用者就可能造成無法復原的資料遺失。

修補版:12.68.0/13.29.0,兩則都涵蓋。兩則公告都沒有列出替代做法。

六、Oracle Java SE(10 月 20 日)

〔官方〕Oracle 2026 年 10 月的季度更新(Critical Patch Update)裡,Java SE 有 55 個新的安全修補,官方說其中 49 個可能在不需要認證的情況下從網路上被利用。官方頁按元件列出受影響的版本;如果你用的是其他廠商發行的 JDK,請看該廠商的對應公告。

七、Chrome 156(10 月 20 日)

〔官方〕Chrome 156 進入穩定版(Linux 156.0.8078.47,Windows/Mac 156.0.8078.47/.48),包含 353 個安全修補,其中 6 個標為 critical。官方說會在接下來幾天到幾週內陸續推送;這一則發布說明沒有提到任何漏洞已遭實際利用。

〔官方:Google〕另外,Google 10 月 21 日宣布,Chrome 現在預設會在建立不安全的 HTTP 連線前先徵求使用者同意。網站還在用 HTTP 的,訪客會先看到這一步。

八、不在固定清單上,但這一週值得知道的

〔官方〕LiteLLM 的發布管道遭入侵(10 月 21 日):LiteLLM 是一套開源的 AI 閘道,官方自述可以用同一種格式呼叫上百種大型語言模型的 API。官方事故說明寫:攻擊者入侵了發布管道,推出含有竊取憑證程式的 v1.107.0。PyPI 上的 litellm==1.107.0 從 11:39 到 13:23(UTC)可以下載;Docker 映像的 v1.107.0、latest、main-latest、main-stable 標籤在 11:46 到 14:20(UTC)之間指向遭入侵的映像。官方說之前的版本都安全,遭入侵的版本已經撤下,並建議先把版本固定在 1.106.2 或更早的明確版本。那段時間內裝過或啟動過這些版本的環境,官方的建議是當成已遭入侵處理。這也說明了為什麼查版本要進容器裡查:標籤是 latest 的映像,內容是會換的。

NGINX:nginx.org 在 10 月 14 日(上一週)發布 1.30.6 穩定版與 1.31.7 主線版,修補了包括 CVE-2026-15176、CVE-2026-93479、CVE-2026-97205 在內的漏洞;新加坡 CSA 在 10 月 21 日對它發了警示。嚴重度兩邊說法不同:nginx.org 對這三個 CVE 標的都是 medium,CSA 寫成 critical、CVSS v4 9.2。用 NGINX 的話,修補版是 1.30.6 或 1.31.7 以後。

九、這一週看過、沒有新公告的

  • Next.js:最近一批安全公告是 10 月 14 日(上一週),修補版 15.5.28/16.4.1;這一週官方沒有新的安全公告,只有 CSA 在 10 月 20 日對上一週那批發了警示。
  • Symfony:最近一批安全公告是 10 月 15 日(上一週),這一週沒有新的。
  • GitHub:changelog 這一週沒有安全事件公告。
  • Composer 本體:這一週沒有安全公告(ca-bundle 的更新寫在第三節)。
  • 美國 CISA 已知遭利用漏洞清單(KEV):這一週新增了 8 筆,沒有一筆是本週報固定清單上的專案。

十、查了、查不到的

  • PHP 這兩個漏洞從哪一版開始受影響:Cloudflare 與 Sansec 寫 CVE-2026-109618/109619 影響 PHP 5.4 以後,CSA 寫影響所有版本,而 php.net 的公告沒有寫起始版本,所以從哪一版開始受影響目前無法證實。
  • NSA 的建議:這一條沒有讀到原文。Socket 的報導寫美國 NSA 建議把無法修補的系統先下線,但我們讀 nsa.gov 的公告頁時被拒絕存取、沒有讀到原文,所以這一句目前無法證實。同一篇報導提到的 CERT-EU 建議,我們讀到了原文,寫在第一節。
  • Checkmarx:部落格列表沒有標日期,無法確認哪些是這一週發的,所以這一期沒有引用。

下一期

週報每週一期,來源清單固定,每一期都會把「看過但沒事」與「查不到」一起列出來——讀者看不到我們漏了什麼,所以要由我們自己說。

恩梯科技是客製化開發出身的系統軟體公司,現在做的是 AI 系統的長期維護。如果你不確定手上的系統有哪些要跟著這一週的安全更新走,可以從一次預約系統健檢開始。

これらの手法を自社に導入したいですか?

Helper CTO とは:システムの責任者を外に持つ
システム健診を予約 LINEで相談する

私たちは案件数を追いません。

深く取り組む価値のある、少数の企業と長期的な関係を築きます。

お困りですか?

LINEで直接ご相談ください