Skip to main content
← All vulnerabilities
CVE-2026-25766GHSA-PGVM-WXW2-HRV9GO-2026-4502

Echo has a Windows path traversal via backslash in middleware.Static default filesystem

Published
Last modified
published
Not listed in CISA KEV
Fix
Fixed in 5.0.3
None on Exploit-DB, Metasploit or GitHub
  • Exploitation: poc
  • Automatable: yes
  • Technical impact: partial

Summary

Echo is a Go web framework. In versions 5.0.0 through 5.0.2 on Windows, Echo’s `middleware.Static` using the default filesystem allows path traversal via backslashes, enabling unauthenticated remote file read outside the static root. In `middleware/static.go`, the requested path is unescaped and normalized with `path.Clean` (URL semantics). `path.Clean` does not treat `\` as a path separator, so `..\` sequences remain in the cleaned path. The resulting path is then passed to `currentFS.Open(...)`. When the filesystem is left at the default (nil), Echo uses `defaultFS` which calls `os.Open` (`echo.go:792`). On Windows, `os.Open` treats `\` as a path separator and resolves `..\`, allowing traversal outside the static root. Version 5.0.3 fixes the issue.

Timeline

  1. CVE published
  2. CISA SSVC assessment

    Exploitation: poc · Automatable: yes · Technical impact: partial

  3. Record last updated

Affected versions

  • labstack echo

    From 5.0.0 · fixed in 5.0.3

  • github.com/labstack/echo/v5Go

    From 5.0.0 · fixed in 5.0.3

References 3

GitHub · labstack/echo