PHP 緊急修補後兩天:
第二個 RCE 風險浮現但不修

速讀:5 分鐘掌握重點

為什麼現在很紅:PHP 緊急修補後兩天,又有一個 RCE 風險,但這次不修,只建議關掉一個功能。

一句話結論
PHP 於 2026 年 10 月 23 日警告另一個未修補的 RCE 風險 CVE-2026-115560,發生在緊急修補 PHP2Shell 漏洞(CVE-2026-109618、CVE-2026-109619)兩天後。這次 PHP 不發緊急修補,建議暫時關閉 session upload progress 功能。
他要的是什麼
攻擊者持續嘗試利用 PHP2Shell 漏洞,但可靠的利用程式碼比預期難寫;新的 CVE-2026-115560 尚未被報告利用。
你今天做一件事
如果你在 10 月 21 日已按建議關閉 session.upload_progress.enabled,不需要額外動作;如果還沒關,現在關掉,就能同時緩解兩個 RCE 風險。 直接去做 →
哪些能信
6 可證明2 推論3 缺口 每個主張都標了等級,缺口是誠實寫出來的。
破口速查
受害端一律去識別化;寫「未公開」代表公開資料查不到。
伺服器服務商
執行 PHP 的 Web 伺服器
網路服務商
網際網路
漏洞出現的地方
罕見設定組合:應用程式在設定檔設定 session.serialize_handler 為 php_binary 或 php_serialize,然後在執行時用 ini_set() 改成 php,並在呼叫 session_start() 之前完成這個變更
馬上自我檢測
檢查你的 PHP 應用程式是否在執行時變更 session.serialize_handler 確認是否已按 PHP2Shell 建議關閉 session.upload_progress.enabled
漏洞修補方式
在 php.ini 或應用程式設定中加入 session.upload_progress.enabled=0,直到下一個例行版本發布
有 15 分鐘再看:其餘 2 點
  1. CVE-2026-115560 只影響非常罕見的設定組合:應用程式必須在設定檔設定 session.serialize_handler 為 php_binary 或 php_serialize,然後在執行時用 ini_set() 改成 php,並在呼叫 session_start() 之前完成變更。PHP 認為這種設定在實務上不太可能出現。
  2. 之前的 PHP2Shell 漏洞已被大規模利用,攻擊嘗試從 10 月 21 日披露後 45 分鐘內的數萬次增加到 10 月 22 日初的數百萬次。攻擊者嘗試部署 Mirai 殭屍網路變種,但目前尚未有確認的程式碼執行案例。

PHP 在 10 月 21 日發布 PHP2Shell 漏洞的緊急修補後,兩天內又警告另一個未修補的 RCE 風險 CVE-2026-115560。這次 PHP 決定不發緊急修補,而是建議暫時關閉 session upload progress 功能,因為只有非常罕見的設定組合會受影響。與此同時,之前的 PHP2Shell 漏洞已被大規模利用,攻擊者嘗試部署 Mirai 殭屍網路變種,但目前尚未有可靠的利用成功案例。

PHP CVE-2026-115560 未修補 RCE 風險警告(2026-10-23)·2026-10-21 PHP2Shell 緊急修補 → 2026-10-23 第二個 RCE 警告·全文 8 分鐘
本篇目錄

發生了什麼

2026 年 10 月 23 日,PHP 專案發布簡短的資訊公告,警告另一個可能讓攻擊者在 Web 伺服器上執行程式碼的方式。這發生在 PHP 於 10 月 21 日發布 PHP2Shell 重大漏洞的緊急修補後僅兩天。

新的問題編號為 CVE-2026-115560,只影響以非常罕見方式設定的 Web 應用程式。PHP 認為這是不太可能的風險,不會發布緊急修補,而是建議關閉一個名為 session upload progress 的功能,直到下一個例行版本發布。

這個建議與 10 月 21 日公告中針對 CVE-2026-109619 的緩解措施相同。如果你當時已經按建議設定 session.upload_progress.enabled=0 並保持不變,對新問題不需要額外動作。

什麼設定會受影響

CVE-2026-115560 只在非常特殊的設定組合下才會觸發。PHP 說問題可能發生在 Web 應用程式同時做到以下所有事情時:

  1. 在設定檔中設定 session.serialize_handler 選項為 php_binary 或 php_serialize
  2. 然後在執行時透過呼叫 ini_set() 將該選項改為 php
  3. 這個變更必須在呼叫 session_start() 之前完成
  4. session upload progress 功能仍然保持開啟

一個從未在執行時變更 serialize handler 的應用程式可以保持該功能開啟,不會透過這個路徑暴露。PHP 表示這種設定在實務上不太可能出現。

為什麼這次不緊急修補

因為設定組合罕見,PHP 將修補作為例行版本週期的一部分,而不是緊急修補。

動作只有一行:PHP 建議設定 session.upload_progress.enabled=0,直到下一個例行修補版本發布。這與 10 月 21 日公告中已列出的緩解措施相同。Session upload progress 預設開啟,讓應用程式可以追蹤檔案上傳的進度。

PHP 尚未說明哪些版本受影響、哪些版本將包含修補,或嚴重性評分。也未說明新問題是否與 CVE-2026-109619 有共同根因。

PHP2Shell 漏洞的利用狀況

CVE-2026-115560 尚未被報告利用。目前的攻擊活動集中在 10 月 21 日修補的兩個 PHP2Shell 漏洞:CVE-2026-109618 與 CVE-2026-109619。

Amazon 表示他們的蜜罐在 10 月 17 日記錄到針對這兩個漏洞的利用嘗試,比漏洞披露早了四天。Cloudflare 表示攻擊嘗試從 10 月 21 日披露後 45 分鐘內的數萬次,增加到 10 月 22 日初的數百萬次。

攻擊者嘗試使用這些漏洞安裝 Mirai 殭屍網路變種。根據 Sophos 與 Arctic Wolf 的報告,這些嘗試目前都失敗了:Previdian、Wordfence 與其他研究人員回報看到掃描與探測,但沒有確認的程式碼執行案例。研究人員表示,可靠的利用程式碼比預期更難建構。

這些活動針對的是 10 月 21 日修補的兩個漏洞,而不是 CVE-2026-115560,後者尚未被報告受到攻擊。

你該做什麼

如果你在 10 月 21 日已經按 PHP 的建議設定 session.upload_progress.enabled=0,不需要額外動作。這個設定同時緩解 CVE-2026-109619 與 CVE-2026-115560。

如果你還沒有關閉 session upload progress,現在就關閉。在 php.ini 或應用程式設定中加入:

session.upload_progress.enabled=0

確認你的 PHP 版本已更新到 10 月 21 日發布的修補版本(PHP 8.5.12、8.4.27、8.3.36、8.2.35),這些版本修補了 CVE-2026-109618 與 CVE-2026-109619。

CVE-2026-115560 的完整修補將在下一個例行版本中發布,PHP 屆時會發布完整公告。

你可以學到什麼

緊急修補後兩天又有新的 RCE 警告,顯示同一類問題可能有多個變種。這次 PHP 選擇不緊急修補,是因為受影響的設定組合罕見,而緩解措施與之前的建議相同。

lessons本案的 7 個教訓
  1. 01
    緊急修補後的幾天是觀察期:同一類問題可能有多個變種,PHP2Shell 兩天後又出現 CVE-2026-115560。
  2. 02
    並非所有 RCE 都需要緊急修補:CVE-2026-115560 只影響罕見設定,PHP 選擇等待例行版本而非緊急發布。
  3. 03
    緩解措施可以覆蓋多個 CVE:關閉 session.upload_progress.enabled 同時緩解 CVE-2026-109619 與 CVE-2026-115560,如果已經做了就不需要重複動作。
  4. 04
    披露前的利用嘗試顯示漏洞已被發現:Amazon 在披露前四天就記錄到 PHP2Shell 的利用嘗試,顯示攻擊者可能在披露前已經知道漏洞。
  5. 05
    利用難度影響實際風險:儘管 PHP2Shell 被大規模嘗試利用,研究人員表示可靠的利用程式碼比預期難寫,目前無確認的程式碼執行案例。
  6. 06
    數百萬次嘗試不等於數百萬次成功:Cloudflare 記錄的數百萬次攻擊嘗試多數是掃描與探測,不是成功的利用。
  7. 07
    蜜罐與威脅情報平台能提供早期警告:Amazon 與 Cloudflare 的蜜罐與監控讓他們在披露前就發現利用嘗試,這對防守方很有價值。
keywords重點學習:最需要學習的 10 個關鍵字10 個
  1. 01
    CVE-2026-115560
    PHP 第二個 RCE 警告,只影響罕見設定組合,不發緊急修補。
  2. 02
    PHP2Shell
    10 月 21 日披露並緊急修補的兩個重大漏洞(CVE-2026-109618、CVE-2026-109619),已被大規模利用。
  3. 03
    session.serialize_handler
    PHP session 序列化處理方式的設定選項,CVE-2026-115560 的觸發條件之一是在執行時變更這個選項。
  4. 04
    session.upload_progress.enabled
    PHP session 上傳進度追蹤功能,關閉這個功能(設為 0)可同時緩解 CVE-2026-109619 與 CVE-2026-115560。
  5. 05
    ini_set()
    PHP 在執行時變更設定的函式,CVE-2026-115560 的觸發條件之一是用這個函式變更 session.serialize_handler。
  6. 06
    Mirai 殭屍網路
    攻擊者嘗試利用 PHP2Shell 漏洞部署的惡意軟體變種,目前尚無成功案例。
  7. 07
    蜜罐(Honeypot)
    Amazon 與其他威脅情報平台部署的誘餌系統,在披露前四天就記錄到 PHP2Shell 的利用嘗試。
  8. 08
    例行版本週期
    PHP 處理 CVE-2026-115560 的方式,而非緊急修補,顯示風險評估影響修補策略。
  9. 09
    披露前利用(Pre-disclosure Exploitation)
    Amazon 在 10 月 17 日記錄到利用嘗試,比 10 月 21 日披露早四天,顯示攻擊者可能提前知道漏洞。
  10. 10
    利用難度(Exploitation Difficulty)
    儘管 PHP2Shell 被大規模嘗試,研究人員表示可靠的利用程式碼難寫,這影響實際風險。

下面的步驟全部唯讀,做完你會知道你的 PHP 環境是否已修補、是否已關閉 session upload progress。

try today今天就可以來試試約 10 分鐘

全部唯讀,不改任何設定;做完你會知道自己有沒有同樣的破口。

  1. 檢查你的 PHP 版本是否已更新到 10 月 21 日的修補版本
    php -v
    看到什麼代表什麼:修補版本:PHP 8.5.12、8.4.27、8.3.36、8.2.35 或更新。如果版本較舊,需要更新以修補 CVE-2026-109618 與 CVE-2026-109619。
  2. 確認是否已關閉 session.upload_progress.enabled
    php -i | grep session.upload_progress.enabled
    看到什麼代表什麼:應該顯示 session.upload_progress.enabled => Off => Off。如果顯示 On,需要在 php.ini 或應用程式設定中加入 session.upload_progress.enabled=0。
  3. 檢查你的應用程式是否在執行時變更 session.serialize_handler
    grep -r 'ini_set.*session.serialize_handler' /path/to/your/app
    看到什麼代表什麼:如果找到,檢查是否符合 CVE-2026-115560 的觸發條件(從 php_binary 或 php_serialize 改成 php)。
  4. 檢視 Web 伺服器錯誤日誌,尋找與 PHP session 相關的異常
    tail -n 100 /var/log/apache2/error.log | grep -i session
    或
    tail -n 100 /var/log/nginx/error.log | grep -i session
    看到什麼代表什麼:如果有攻擊者嘗試利用 PHP2Shell 或相關漏洞,可能會在日誌中看到與 session 序列化相關的錯誤。

如果你在 10 月 21 日已經關閉 session upload progress,今天不需要額外動作。如果還沒關,現在關掉就能同時緩解兩個 RCE 風險。

這篇提到的項目要花多少錢

修補與緩解成本極低;主要是人力檢查與測試。

costPHP RCE 漏洞修補與緩解成本
項目用量單價期間US$NT$舉證
更新 PHP 到修補版本(8.5.12、8.4.27、8.3.36、8.2.35)
估:包含測試與部署;PHP 更新本身免費
約 0.5 人日內部工時或顧問日費 NT$20,000–35,000(估)一次性429.6913,750本站假設值
設定 session.upload_progress.enabled=0
估:修改 php.ini 或應用程式設定並測試
約 0.25 人日內部工時或顧問日費 NT$20,000–35,000(估)一次性214.846,875本站假設值
檢查應用程式是否變更 session.serialize_handler
估:搜尋程式碼並確認是否符合 CVE-2026-115560 觸發條件
約 0.5 人日內部工時或顧問日費 NT$20,000–35,000(估)一次性429.6913,750本站假設值
檢視日誌與監控異常
估:若發現可疑活動,調查成本將增加
約 0.5 人日內部工時或顧問日費 NT$20,000–35,000(估)一次性429.6913,750本站假設值
合計(僅可證明列)0.000
匯率假設 1 USD ≈ NT$32。單價為公開牌價或帳單實付,來源:本站人力工時假設。「舉證」欄標明每筆損失的證據來源與等級( 可證明 推論 缺口)。

修補與緩解的總成本約 1.75 人日,遠低於被利用的代價。


來源:本文整理自 The Hacker News 於 2026 年 10 月 23 日發布的報導,依據 PHP 官方資訊公告。原文連結

原文發佈日期:2026 年 10 月 23 日

想看全部細節?

環境背景、時間線、攻擊鏈對照 ATT&CK、關鍵證據、根因、處置與檢討都在完整版,約 8 分鐘。

來源

本文為公開報導與官方公告的整理與拆解,非第一手鑑識;證據等級依來源可信度標註。

本文由 AI 團隊協助研究與撰寫,經隱私與事實檢查後發布;證據等級依來源可信度標註。

看完的心情
ai prompt把這篇的切入點帶回你的環境

複製下面這段,貼給你在用的 AI 工具(Claude Code、Cursor、Copilot、ChatGPT 都可以)。它會用本篇的破口位置、自我檢測與學習重點,對你的專案或環境做一次資安掃描,列出潛在問題與建議的調整或加強方式。

預設是唯讀:只發現問題、提出建議,不會改你任何檔案或設定。

§
對應課程模組

M2 Web 應用安全 · 想在自己的環境做一次同樣的盤點,從 自我盤點 開始。

newsletter
下一篇拆解直接寄到信箱

每篇新文章一封:三點摘要、關鍵字定義、今天能做的一件事。或先 加入會員 記錄你完成的任務。