跳到主要內容
回到證據牆

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
下載公開紀錄(JSON)

公開識別證據摘要

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-25605cf2431070873402b901cea2e0461be58cd2a133dc52dfce9769a1942189055

按下按鈕後才載入並核對附件。

開啟 JSON 原檔

限制與前提

須有可由 HTTP 存取的測試工具檔案。這筆紀錄沒有端到端利用證據,也不代表 Vettalon 發現新漏洞。

來源與歸屬

已公開歷史漏洞;原始來源與分析者見公告。Vettalon 僅做識別測試。

原始識別報告 SHA-256

雜湊供持有原報告者比對;下載內容為人工整理紀錄,不包含原始掃描報告。

0949c8ab616480fb25c5c781f03f98a0eb8262363239fda7a1f8db3f77131e7b