CVE-2026-55677: Echo: Encoded slash (%2F) bypasses route-level protection and exposes static files
Echo’s router and static file handler disagree on URL path decoding. The router matches routes using the raw encoded path (preserving %2F as-is), while StaticDirectoryHandler unescapes %2F to / before resolving filesystem paths. This allows an attacker to bypass route-level access controls and read static files without authorization.
References
- github.com/advisories/GHSA-vfp3-v2gw-7wfq
- github.com/labstack/echo/commit/8d1ae9d3360a71672418856d58753af25f2c3986
- github.com/labstack/echo/commit/c3fa2a27ff92b2b8db360de614f999ef1da24725
- github.com/labstack/echo/pull/3009
- github.com/labstack/echo/pull/3011
- github.com/labstack/echo/releases/tag/v4.15.3
- github.com/labstack/echo/releases/tag/v5.2.0
- github.com/labstack/echo/security/advisories/GHSA-vfp3-v2gw-7wfq
- nvd.nist.gov/vuln/detail/CVE-2026-55677
Code Behaviors & Features
Detect and mitigate CVE-2026-55677 with GitLab Dependency Scanning
Secure your software supply chain by verifying that all open source dependencies used in your projects contain no disclosed vulnerabilities. Learn more about Dependency Scanning →