| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
|
Review the following changes in direct dependencies. Learn more about Socket for GitHub.
|
Sorry, something went wrong.
Greptile SummaryUpdates the internal integration-test module from Echo v5.1.0 to v5.2.0 to incorporate upstream security fixes.
Confidence Score: 5/5The PR appears safe to merge because it is a narrowly scoped test-module dependency update with consistent checksum changes and no identified compatibility regression. The dependency declaration and checksums agree, the repository already targets Go 1.25, and existing Echo v5 integration fixtures cover handler registration, binding, and response behavior without evidence that v5.2.0 breaks those contracts. Important Files Changed
Reviews (1): Last reviewed commit: "fix(deps): update module github.com/labs..." | Re-trigger Greptile |
Sorry, something went wrong.
…nal/test) [security]
| Back | FazBrowse Home | New Git URL |
This PR contains the following updates:
Echo: Encoded slash (%2F) bypasses route-level protection and exposes static files
CVE-2026-55677 / GHSA-vfp3-v2gw-7wfq
More informationDetails
Summary
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.
Details
Root cause 1 — router.go lines 798-802:
The router uses req.URL.RawPath for route matching when useEscapedPathForRouting is false (the default). This means /admin%2Fsecret.txt is treated as a single path segment and does NOT match the /admin/* route pattern.
Root cause 2 — echo.go lines 559-568:
StaticDirectoryHandler calls url.PathUnescape() on the path parameter before opening files. This converts %2F back to /, resolving admin/secret.txt on disk.
PoC (Screenshot)
Sample:

403:

Bypass with encoded slash:

Impact
Unauthorized static file disclosure. Applications that protect route prefixes with authentication middleware while also serving static files from a broader root are vulnerable. An attacker only needs to encode the slash (/ → %2F) in the URL to bypass all route-level protection.
Common affected pattern:
Severity
References
This data is provided by the GitHub Advisory Database (CC-BY 4.0).
Release Notes
labstack/echo (github.com/labstack/echo/v5)v5.2.0
Compare Source
Security
Fixes GHSA-vfp3-v2gw-7wfq: an encoded path separator (%2F or %5C) in a static file URL could bypass route-level middleware (e.g. authentication on a sibling route) and disclose static files. Both StaticDirectoryHandler/StaticFS and the Static middleware are affected. Thanks to @a-tt-om and @oran-gugu for reporting.
Enhancements
New Contributors
Full Changelog: labstack/echo@v5.1.1...v5.2.0
v5.1.1
Compare Source
Security
Thanks to @shblue21 for reporting this issue.
Enhancements
Configuration
📅 Schedule: (UTC)
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.