{"id":"CVE-2026-35036","revision":"c707ba2102054dd891316ad274f6a762","records":[{"revision":"c707ba2102054dd891316ad274f6a762","observedAt":"2026-10-23T15:48:27.903+00:00","statement":{"source":"cve-program","id":"CVE-2026-35036","aliases":[],"title":"Ech0 Affected by Unauthenticated Server-Side Request Forgery in Website Preview Feature","description":"Ech0 is an open-source, self-hosted publishing platform for personal idea sharing. Prior to 4.2.8, Ech0 implements link preview (editor fetches a page title) through GET /api/website/title. That is legitimate product behavior, but the implementation is unsafe: the route is unauthenticated, accepts a fully attacker-controlled URL, performs a server-side GET, reads the entire response body into memory (io.ReadAll). There is no host allowlist, no SSRF filter, and InsecureSkipVerify: true on the outbound client. Anyone who can reach the instance can force the Ech0 server to open HTTP/HTTPS URLs of their choice as seen from the server’s network position (Docker bridge, VPC, localhost from the process view). This vulnerability is fixed in 4.2.8.","state":0,"publishedAt":"2026-04-06T16:55:47.544+00:00","modifiedAt":"2026-04-07T14:09:40.939+00:00","affected":[{"ecosystem":"Vendor product","name":"Ech0","ranges":[],"versions":[],"rawVersionEvidence":"{\n                    \"vendor\": \"lin-snow\",\n                    \"product\": \"Ech0\",\n                    \"versions\": [\n                        {\n                            \"version\": \"< 4.2.8\",\n                            \"status\": \"affected\"\n                        }\n                    ]\n                }"}],"metrics":[{"system":"CVSS 3.1","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N","score":7.5,"severity":"HIGH"}],"references":["https://github.com/lin-snow/Ech0/security/advisories/GHSA-wc4h-2348-jc3p"],"sourceUrl":"https://www.cve.org/CVERecord?id=CVE-2026-35036","license":"CVE Program Terms of Use","key":"cve-program:CVE-2026-35036","identifiers":["CVE-2026-35036"]},"retained":false,"historicalAffected":[]}],"coverage":[]}