Unauthenticated SSRF in Ech0 via /api/website/title (CVE-2026-35037)
by fineman999 · 2026-07-05
- Severity
- High
- CVE
- CVE-2026-35037
- Category
- web
- Affected product
- lin-snow/Ech0
- Affected versions
- <= 4.2.1 (GHSA); prior to 4.2.8 (NVD)
- Disclosed
- 2026-07-05
- Patch status
- unpatched
Archive entry
intelseclab/poc-archiveMetadata
| Field | Value |
|---|---|
| Date Added | 2026-07-05 |
| Last Updated | 2026-06 |
| Author / Researcher | fineman999 |
| CVE / Advisory | CVE-2026-35037 |
| Category | web |
| Severity | High |
| CVSS Score | Not specified in source (GHSA-cqgf-f4x7-g6wc) |
| Status | PoC |
| Tags | ssrf, ech0, unauthenticated, self-hosted, cwe-918, nuclei-template |
| Related | N/A |
Affected Target
| Field | Value |
|---|---|
| Software / System | lin-snow/Ech0 |
| Versions Affected | <= 4.2.1 (GHSA); prior to 4.2.8 (NVD) |
| Language / Platform | Shell/Docker PoC lab |
| Authentication Required | No |
| Network Access Required | Yes (HTTP to Ech0 instance) |
Summary
Ech0’s GET /api/website/title endpoint fetches a URL supplied by the (unauthenticated) caller to extract a website’s title, without restricting the target to safe, external hosts. This allows an unauthenticated attacker to force the Ech0 server to make requests to internal-only services, cloud metadata endpoints, or other network-restricted resources.
Vulnerability Details
Root Cause
The /api/website/title endpoint performs an outbound HTTP fetch of an attacker-supplied URL with no allow-list/deny-list validation of the target host.
Attack Vector
- Send an unauthenticated GET request to
/api/website/titlewith aurlparameter pointing at an internal service or metadata endpoint. - Ech0’s server-side fetch reaches the internal target on the attacker’s behalf.
- The response (or side effects of reaching that internal target) leak information about the internal network.
Impact
Unauthenticated SSRF allowing reconnaissance/access to internal-only network resources reachable from the Ech0 host.
Environment / Lab Setup
Target: lin-snow/Ech0 <= 4.2.1 / prior to 4.2.8
Attacker: Docker (self-contained isolated lab), a local evidence server, curl/nuclei
Proof of Concept
PoC Script
See
verify-cve-2026-35037.shandCVE-2026-35037.yaml(nuclei template) in this folder.
| |
Spins up a controlled local evidence server and drives Ech0’s title-fetch endpoint to request it, confirming the SSRF without touching cloud metadata or third-party infrastructure.
Detection & Indicators of Compromise
Signs of compromise:
- Outbound requests from the Ech0 host to internal-only services or 169.254.169.254 (cloud metadata)
Remediation
| Action | Detail |
|---|---|
| Primary fix | Upgrade Ech0 to 4.2.8 or later |
| Interim mitigation | Restrict outbound network access from the Ech0 host to only what’s required; block metadata endpoint access at the network layer |
References
Notes
Mirrored from https://github.com/fineman999/POC_CVE-2026-35037 on 2026-07-05.
| |