Skip to content
OpenAdvisories
Medium · 5.3 CVE-2026-25766 EUVD-2026-8207GHSA-pgvm-wxw2-hrv9GO-2026-4502

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

Published Feb 19, 2026 · Updated Feb 19, 2026 · Assigned by GitHub_M

Description

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.

Affected products

VendorProductAffectedFixed
labstack echo >= 5.0.0, < 5.0.3 —

Fixed in Linux distributions

Distributions backport fixes, so the version that fixes this vulnerability differs per release — upgrade to at least the version shown. From the distributions' security trackers and advisories.

ReleasePackageFixed inAdvisory
openSUSE Leap 16.0 govulncheck-vulndb 0.0.20260723T184607-160000.1.1 openSUSE-SU-2026:21483-1
openSUSE Leap 15.6 govulncheck-vulndb 0.0.20260226T182644-150000.1.149.1 SUSE-SU-2026:0757-1

Affected packages

EcosystemPackageAffectedFixedRecord
Go github.com/labstack/echo/v5 >= 5.0.0, < 5.0.3 5.0.3 GHSA-pgvm-wxw2-hrv9

Advisories 2

References