[ CVE-2026-118266 · Published 28 Oct 2026 ]
Echo has CSRF Protection Bypass via MethodOverride Rewriting POST to Safe Method
[ Why it matters ]Priority signals
- Public proof-of-concept exploit exists (CISA SSVC)
[ Description ]Official description
Echo is a Go web framework. Prior to 4.16.0 and 5.4.0, Echo's MethodOverride middleware accepts a safe HTTP method as the override target for a POST request. When MethodOverride is registered before CSRF in the post-routing middleware chain, route selection retains the original state-changing POST handler but the override changes the method before CSRF evaluates it, causing both token validation and Sec-Fetch-Site checks to be skipped. A cross-site exploit requires an authenticated victim and an override value that a browser-submitted request can control, such as the form getter used by the advisory reproducer; the default X-HTTP-Method-Override header getter is not settable by a cross-site form. This issue is fixed in 4.16.0 and 5.4.0.
[ Fixes ]Fixes and patches
- github.com/labstack/echo/v5 5.4.0Fixed version · GitHub Advisories · go package github.com/labstack/echo/v5: upgrade to 5.4.0 or later (affected >= 5.0.0, < 5.4.0)
- github.com/labstack/echo/v4 4.16.0Fixed version · GitHub Advisories · go package github.com/labstack/echo/v4: upgrade to 4.16.0 or later (affected < 4.16.0)
[ Packages ]Affected open-source packages
- github.com/labstack/echo/v5 goAffected >= 5.0.0, < 5.4.0 · fixed in 5.4.0 · GHSA-r7w9-592q-9vg4
- github.com/labstack/echo/v4 goAffected < 4.16.0 · fixed in 4.16.0 · GHSA-r7w9-592q-9vg4