PHP2Shell是2026年10月21日揭露的重大PHP漏洞所使用的名稱。如果你的網站使用PHP,首先要確認的是,實際處理訪客請求的執行環境是否已套用安全修正。更新外掛,或看到防火牆控制台顯示正常,都無法回答這個問題。

PHP2Shell影響網站底層的PHP執行環境,可能讓攻擊者在未經身分驗證的情況下遠端執行程式碼。PHP已在8.2.35、8.3.36、8.4.27與8.5.12發布修正,因此你應確認實際處理Web請求的環境已使用修正版本,或有文件可查證的廠商回補修正。請維持防禦措施,但不要把WAF或暫時設定變更當作安全修補的替代方案。

資訊查核時間:2026年10月21日17:15 UTC。 本文反映修正已經發布的狀況,而不是最初仍在等待版本發布的公告。廠商套件與應變指引可能迅速變動,進行變更前請重新確認文中連結的安全公告。

PHP2Shell有哪些已確認的事實?

PHP安全團隊指出,兩項缺陷可能讓未登入的攻擊者進行遠端執行。官方公告 說明,處理Web請求的PHP安裝環境存在風險,並特別將Apache搭配mod_php列為風險最高的組態。能否成功利用,取決於執行環境、建置方式與請求處理環境。

識別編號PHP的說明實務上需要注意的問題
CVE-2026-109618請求清理期間因記憶體不足造成損毀PHP處理記憶體配置失敗時,可能使用無效的請求狀態
CVE-2026-109619屬於請求的過期全域狀態同一工作行程的後續請求可能存取已釋放記憶體的參照

兩份公告的CVSS v4.0分數均為9.2。請閱讀CVE-2026-109618 與CVE-2026-109619 的原始報告,不要只依賴社群貼文提出的暫時解法。

這代表需要儘速處理,但並不是所有PHP網站都已遭入侵的證據。重大漏洞、攻擊嘗試與確認入侵,是不同的調查結果。你的應變工作應釐清自家系統實際屬於哪種情況。

哪些PHP版本修正了PHP2Shell?

以下列出今天發布、仍受支援分支的安全版本。這張版本表是檢查上游安裝版本的起點。Linux發行版的套件可能透過不同的套件修訂版本提供修正。

PHP分支同時修正兩項漏洞的安全版本
PHP 8.28.2.35
PHP 8.38.3.36
PHP 8.48.4.27
PHP 8.58.5.12

這些版本可在PHP版本發布公告 中確認。如果發行版或代管廠商採用回補修正,請索取其安全通知與實際安裝的確切套件修訂版本。只看版本字串,可能把已修補的廠商套件誤判為未修補,也可能漏掉過時的內附執行環境。

PHP 8.1與更早版本已不再取得一般的上游更新。PHP也為7.4、8.0與8.1提供最低必要範圍的原始碼回補修正,但不代表恢復持續支援。應取得有明確責任歸屬的廠商支援修正,或制定升級計畫。PHP支援狀態表 說明了目前各分支的支援情形。

請分別檢查容器、內嵌PHP環境與整合式設備。NCSC-NL維運指引 明確提醒,更新主機的PHP不一定會更新這些執行環境。

WordPress、Laravel等PHP網站也會受影響嗎?

請從執行應用程式的直譯器開始確認。WordPress網站、Laravel應用程式與自建PHP入口網站,即使應用程式碼完全不同,也可能共用同樣過時的執行環境。安裝最新版佈景主題、外掛或框架,不會同時安裝PHP執行環境的安全修正。

若使用受管理的代管服務,請詢問每個網站實際使用的PHP版本或已修補套件、變更是否已套用到所有節點,以及是否已完成必要的工作行程重啟。應向代管平台索取佐證,不要把應用程式更新通知直接視為確認依據。

自行管理的系統,清冊也要納入附屬網站、管理介面、舊的虛擬主機設定與預覽環境。正式環境的應用程式可能已更新,但同一套基礎設施上的舊網站仍可從網際網路存取。請為每個對外開放的環境記錄負責人與修復決策。

不要因為上傳表單沒有人使用,就認定部署環境安全。PHP公告描述的是執行環境的請求處理路徑。訪客看得到的應用功能,並不等於完整的暴露面評估。

如何修補並驗證真正服務訪客的執行環境

釐清實際執行中的組態

識別Web伺服器整合方式、執行環境套件或容器映像檔、設定來源,以及服務負責人。將這份清冊對應到客戶實際使用的主機名稱。工程師如果檢查錯誤的主機,就可能產生看似可信、實際上與目標無關的版本報告。

以下唯讀指令會顯示命令列安裝環境及其設定:

1php -v
2php --ini

它們無法證明PHP-FPM、Apache或其他Web服務整合實際執行的版本。請透過經過驗證的代管管理資訊,或受控的管理員檢查,確認真正提供服務的執行環境。不要留下對外公開、會洩漏設定與環境細節的診斷頁面。

容器部署應驗證實際接收流量的映像檔與應用程式執行個體,而不只是映像檔登錄庫中的替代映像檔。變更紀錄需涵蓋負載平衡器後方的所有執行個體,以及獨立運作的工作行程服務。

套用受支援的修正,並測試應用程式

使用持續維護的套件來源,或映像檔供應商提供的正式更新程序。記錄已安裝的修訂版本,以及涵蓋兩項CVE的廠商公告。依部署方式規劃服務重啟或執行個體替換,不要假設下載套件就會變更執行中的行程。

在可能中斷服務的變更前,先保留相關日誌。準備已驗證的備份與復原計畫,並在更新後測試具代表性的應用流程。如果應用程式使用這些功能,登入、工作階段、結帳、上傳與背景處理都是適合的測試項目。

最後再次檢查真正提供服務的執行環境,完成變更驗證。保留哪些執行個體已更新、流量何時切換,以及由誰接受應用檢查結果等佐證。部署工作顯示成功是有用的證據,但不是全部的驗證工作。

Cloudflare WAF能防護PHP2Shell嗎?

Cloudflare表示已部署PHP2Shell WAF防護 ,並觀察到攻擊流量,防護涵蓋Free與付費WAF客戶。其公告說明了結合請求與回應資訊的防護方式,同時明確建議客戶即使有這些防護,也應修補PHP。

對個別網站,請確認相關流量實際通過受保護的服務,而且適用規則已啟用。檢查例外、略過規則,以及是否能從其他路徑直接連到原始伺服器。這些是部署檢查,不代表Cloudflare的公告保證應用程式的每一條可能存取路徑都受到保護。

請將WAF事件資料留存為調查材料。某項請求被封鎖,能說明規則比對到該請求,卻不能證明原始伺服器未曾透過其他路徑遭存取,也不能證明過去未發生入侵。

在完成執行環境更新期間,繼續使用WAF作為額外的防禦層。不要只因為控制台記錄了遭封鎖的嘗試,就延後PHP修正。

暫時緩解措施不是PHP2Shell的完整修正

如果暫時無法修補,請與負責系統的工程師或廠商一同遵循最新PHP公告。過期狀態漏洞公告 說明,為何必須在剖析請求前停用session.upload_progress.enabled,以及為何需要重啟工作行程。公告特別提醒,不要為了這個目的依賴ini_set()或FPM的.user.ini。

這項變更只會阻擋已確認的工作階段相關路徑,並不涵蓋所有變形。PHP 8.5另有關於fatal_error_backtraces的指引。從論壇複製一小段設定,不能證明兩項漏洞都已獲得處理。

記憶體不足漏洞公告 說明了其他控制措施,包括請求限制與記憶體限制處理方式的變更。這些措施會影響資源與可用性。請依實際部署審閱完整指示,不要隨意移除正式伺服器的記憶體界限。

若修補前無法將暴露風險降到可接受程度,應討論限制受影響應用程式的公開存取。記錄暫時措施、限制、負責人與永久修正計畫。暫時解法應有移除或檢討條件,不應成為沒有文件記錄的永久設定。

檢查暴露情形後,應該監控什麼?

請先建立基準,並保留重要時間範圍的紀錄。把Web請求與PHP、Web伺服器及主機事件交叉比對,不要把單一異常請求當成完整診斷。若缺少日誌,應明確記錄這項限制。

觀察到的情況調查時需要釐清的問題
非預期的PHP工作行程結束或記憶體故障應用程式行為是否改變,附近時段處理了哪些請求?
新增或修改的可執行檔是否來自已核准部署,或是無法解釋的寫入?
非預期的子行程或對外連線Web工作行程是否有正當理由進行該活動?
WAF比對事件與原始伺服器存取紀錄哪些請求被封鎖,哪些路徑到達了原始伺服器?
帳號、排程工作或機密資訊變更每一項變更能否對應到獲授權的操作人員?

這些是調查的切入點,不是PHP2Shell專屬指標,也不是已遭入侵的證據。正常維運也可能出現類似現象。同樣地,沒有警示並不證明尚未修補的系統過去是安全的。

若證據顯示可能遭到入侵,請先保全證據,並在修補的同時安排事件應變。更新直譯器不會移除持續存取機制、撤銷遭竊的憑證,也不會釐清哪些資料曾被存取。這些都應作為應變計畫中獨立的問題處理。

常見問題

什麼是PHP2Shell漏洞利用? PHP2Shell指以CVE-2026-109618與CVE-2026-109619追蹤的PHP漏洞。它們涉及執行環境的記憶體處理,可能允許未經身分驗證的遠端程式碼執行,並不只是WordPress外掛的缺陷。

檢查PHP2Shell修補時,應核對哪些版本? 2026年10月21日發布的受支援分支修正版本為PHP 8.2.35、8.3.36、8.4.27與8.5.12。若使用發行版的回補修正,應取得廠商公告,並確認實際提供服務的環境所安裝的確切修正套件修訂版本。

更新WordPress就能修正PHP2Shell嗎? 只更新WordPress,不會更新底層的PHP直譯器。應持續維護應用程式,同時另外向代管廠商或伺服器負責工程師確認PHP執行環境的安全修正。

使用Cloudflare的網站會自動安全嗎? Cloudflare雖然表示已提供WAF防護,流量路徑、適用規則與原始伺服器暴露情形仍需檢查。請維持防護並修補PHP。防火牆控制台不是執行環境已修正,或過去未遭入侵的證明。

停用工作階段上傳進度功能就足夠嗎? 不夠。PHP說明,這項措施阻擋的是已確認的工作階段相關路徑,不是所有變形。必須在適當設定層套用,並重啟工作行程。仍然需要更新到修正的執行環境,或採用經過驗證的廠商回補修正。

可以在正式網站測試公開的漏洞利用程式嗎? 初步檢查應優先採用版本、套件與設定佐證。若驗證必須進行漏洞利用測試,應取得明確授權,並安排在具備隔離、監控與復原計畫的受控環境進行。不要對正式環境執行未經審查的攻擊指令碼。

安裝修正能證明伺服器過去未遭入侵嗎? 不能。修補處理的是執行環境缺陷,而事件評估要調查過去活動、持續存取機制、憑證與可能的資料存取。應讓這些工作彼此銜接,並記錄現有證據的限制。


需要PHP網站檢查、監控或修補支援嗎?

我們可以協助釐清實際提供網站服務的PHP執行環境、評估暴露情形、檢閱現有日誌與防禦措施,並規劃所需修補或受支援版本升級。如果環境需要持續觀察,我們可以針對已辨識的風險,約定監控範圍、警示責任與逐級通報程序。

我們的應用程式安全服務 支援評估與調查,伺服器安全服務 則涵蓋代管與設定邊界。我們可與代管廠商合作,驗證廠商修正、協調變更,並記錄更新後的應用程式檢查。

有用的成果,是一份清楚記錄,說明檢查了什麼、修補了什麼、哪些事項仍不確定,以及誰負責後續工作。我們不會只憑版本字串或單次掃描就保證系統沒有問題。工作範圍與可提供服務的時間,會在開始前約定。

歡迎洽詢PHP2Shell暴露檢查、安全監控或修補支援 。請提供代管方式、受影響網域、已知PHP版本,以及有權核准變更的負責人。首次詢問請勿寄送密碼或存取權杖。