Description
Echo is a Go web framework. Prior to 4.15.2 and 5.1.1, Context.Scheme returns values from X-Forwarded-Proto, X-Forwarded-Protocol, or X-Url-Scheme without validating that they are supported web schemes. WWWRedirect and NonWWWRedirect use that value to construct a Location header, so an attacker controlling a forwarded scheme header can cause a redirect to use an arbitrary URI scheme. Exploitation requires an affected redirect middleware and user interaction with the response; the HTTPS-specific redirect variants hardcode HTTPS and are unaffected. This issue is fixed in 4.15.2 and 5.1.1.
References6
- github.com/labstack/echo/commit/ca4f38a474302aabee93c66bdd00523…
- github.com/labstack/echo/commit/d1d8ad3f99dd9b80542cd0c357d56a8…
- github.com/labstack/echo/releases/tag/v4.15.2
- github.com/labstack/echo/releases/tag/v5.1.1
- github.com/labstack/echo/security/advisories/GHSA-23wf-92cp-8pcj
- github.com/labstack/echo/security/advisories/GHSA-23wf-92cp-8pcj
Metrics
- CVSS 3.1
-
4.7
MEDIUM
Score source: CNA
CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:C/C:L/I:L/A:N - EPSS — exploit probability
- 0% percentile: 8 · as of 3 November 2026
- CWE
- CWE-601
Could this be exploited in your environment?
A patch closes the known hole. A penetration test shows what an attacker can still reach — with proof.