PHPUnit 9年前舊漏洞CVE-2017-9841持續遭濫用,30天內偵測逾8萬次攻擊嘗試
來源: iThome | 2026-06-01
URL: https://www.ithome.com.tw/news/176257
發布日期: 2026-06-01
關鍵數據
- 30天內偵測到 80,119次 攻擊嘗試(截至5月11日)
- 最近10天就有 36,543次,顯示攻擊加速趨勢
- CVSS評分:9.8(Critical)
- 漏洞揭露於 2017年,CISA於 2022年 納入KEV目錄
漏洞概要
| 項目 | 內容 |
|---|---|
| 漏洞ID | CVE-2017-9841 |
| 類型 | 遠端程式碼執行(RCE) |
| 影響版本 | PHPUnit < 4.8.28 / < 5.6.3 |
| 漏洞位置 | vendor/phpunit/phpunit/src/Util/PHP/eval-stdin.php |
| 身分驗證需求 | 無需驗證 |
漏洞原理
eval-stdin.php 讀取 HTTP POST 請求內容並透過 eval() 執行,若該檔案暴露於公開網際網路,攻擊者可直接執行任意 PHP 程式碼。
為何舊漏洞仍持續被利用
- 部署流程疏失:PHPUnit 應列於
require-dev,並以composer install --no-dev排除,但部分 CI/CD 或除錯環境仍安裝開發套件,導致vendor/目錄進入正式環境 - Web伺服器未封鎖:Apache/Nginx 未限制外部存取
vendor/phpunit/路徑 - 套件長期未更新:舊專案只要能正常運作,維護者往往不升級相依套件
- 攻擊門檻低:已有多個公開利用工具流通
建議修補措施
- 盤點對外伺服器,確認是否存在
eval-stdin.php - 若發現該檔案在正式環境可公開存取,立即移除或封鎖
- 正式部署流程改用
composer install --no-dev - 設定 Web 伺服器規則,禁止外部直接存取
vendor/目錄
衍生頁面
- PHPUnit舊漏洞CVE-2017-9841持續遭大規模濫用30天逾8萬次攻擊 — 漏洞事件概念頁
- vulncheck — 資料來源(VulnCheck分析報告)