PHPUnit / CVE-2017-9841
測試輔助程式的程式碼注入
歷史漏洞識別命中(歷史測試)Packagist
部署在可由網路存取的位置時,舊版 eval-stdin.php 可能將 HTTP 請求內容當作 PHP 執行。
這筆證據支持什麼
歷史聚焦掃描識別命中 eval-stdin.php:3,最終為 candidate。未在 web SAPI 執行,未驗證修補後的行為。
測試方法
將 5.6.2 的輔助程式交給聚焦 AI 審查,保留候選狀態與位置。下載紀錄附原報告雜湊。
- 模式
- focused
- 判定
- candidate
- 位置
eval-stdin.php:3
公開識別證據摘要
eval-stdin.php:3 將 php://input 送入 eval;若檔案可由 HTTP 存取,請求內容可能被當成 PHP 執行。
codex:no_verdict。模型呼叫失敗,沒有完成有效覆核,最終保留 candidate。
- 找洞模型
- claude (Anthropic alias)
- 覆核模型與判定
- codex (OpenAI alias): no_verdict
- 工具版本
- Not recorded in historical report (schema v2)
- 模型版本
- Exact model versions not recorded; aliases only
- 當時範圍
- Single file: eval-stdin.php; focused deep AI review; no truncation recorded
重跑識別步驟
先安裝 Vettalon CLI,並在 config.toml 設定自己的模型與憑證。以下將單一脆弱檔放入聚焦目錄;模型與規則版本可能不同,結果不保證相同。執行 deep 模式會將檔案與上下文送到你設定的模型。這些指令用於識別測試,不會執行上游專案或驗證利用。
git clone --branch 5.6.2 --depth 1 https://github.com/sebastianbergmann/phpunit.git phpunit-case
mkdir -p phpunit-focused
cp phpunit-case/src/Util/PHP/eval-stdin.php phpunit-focused/
vettalon scan ./phpunit-focused --profile deep --config ./config.toml --max-modules 8 --cross-check-top 8 --report ./phpunit-result.json --no-prior可核對的原報告節錄
這份節錄保留原 finding 與有效覆核文字,原始報告不公開。節錄雜湊與原報告雜湊不同;人工選編不等於簽章、漏洞確認或可信執行證明。tag 行號只是公開來源參考,不是歷史來源位元組證明。
下載 finding/覆核節錄(JSON)- 原掃描執行狀態
- incomplete / units_failed
節錄附件 SHA-256
05cf2431070873402b901cea2e0461be58cd2a133dc52dfce9769a1942189055按下按鈕後才載入並核對附件。
開啟 JSON 原檔限制與前提
須有可由 HTTP 存取的測試工具檔案。這筆紀錄沒有端到端利用證據,也不代表 Vettalon 發現新漏洞。
來源與歸屬
已公開歷史漏洞;原始來源與分析者見公告。Vettalon 僅做識別測試。
原始識別報告 SHA-256
雜湊供持有原報告者比對;下載內容為人工整理紀錄,不包含原始掃描報告。
0949c8ab616480fb25c5c781f03f98a0eb8262363239fda7a1f8db3f77131e7b