Skip to content

fix(deps): update module github.com/labstack/echo/v5 to v5.2.1 - autoclosed - #126

Merged
mromaszewicz merged 1 commit into
mainfrom
renovate/github.com-labstack-echo-v5-5.x
Jul 12, 2026
Merged

fix(deps): update module github.com/labstack/echo/v5 to v5.2.1 - autoclosed#126
mromaszewicz merged 1 commit into
mainfrom
renovate/github.com-labstack-echo-v5-5.x

Conversation

@renovate

@renovaterenovateBot commented May 1, 2026

Copy link
Copy Markdown
Contributor

This PR contains the following updates:

PackageChangeAgeConfidence
github.com/labstack/echo/v5v5.1.0v5.2.1ageconfidence

Release Notes

labstack/echo (github.com/labstack/echo/v5)

v5.2.1

Compare Source

Security

Make serving static file releated methods and middleware not unescape path by default - so how the way Router interprets paths and Static methods/middleware is consistent.

Given following situation:

// 0.// given folder structure:// private.txt// public/// public/index.html// public/text.txt// public/admin/private.txt// 1. share `public/` folder contents from the server root. This folder actually contains subfolder `admin` which// contents we want to forbid from downloadinge.Static("/", "public")
// 2. naively assume that everything under /admin folder is now forbiddene.GET("/admin/*", func(c*Context) error {
returnErrForbidden
})

Then requests to /admin%2fprivate.txt would not be matched to GET /admin/* route (routing does not look unescaped path) and static file serving will use unescaped path to serve the file.

Note: this way of "guarding" subfolders will never work for for paths like /assets/../admin%2fprivate.txt which will path.Clean("/assets/../admin%2fprivate.txt") to /admin/private.txt and are servable if static file serving is configured to unescape paths.

If you want to guard routes - use middlewares on Static* methods and before Static middleware.


Closes GHSA-vfp3-v2gw-7wfq more completely: the previous fix (#​3009) rejected explicitly encoded
separators at the handler level; this patch makes the no-unescape behavior the default so new configurations are safe without extra opt-out steps.

What changed:DisablePathUnescaping (on StaticConfig and StaticDirectoryHandlerConfig) is deprecated and replaced by EnablePathUnescaping (default false). Path unescaping is now opt-in.

What this protects: With EnablePathUnescaping: false (new default), encoded separators (%2F, %5C) are never decoded before routing or file lookup, so they cannot
bypass route-level authentication or other middleware guards.

What this does NOT protect: Serving a directory with Static, StaticFS, or StaticDirectoryHandler exposes its entire subtree. Sibling routes are not a reliable
ACL boundary — attach authorization middleware directly to the static mount, or serve sensitive sub-trees under separate guarded routes.

Breaking change / migration: If you serve files whose names contain URL-encoded characters (e.g., /hello%20world.txthello world.txt), you must now opt in:

// Static middlewaree.Use(middleware.StaticWithConfig(middleware.StaticConfig{
EnablePathUnescaping: true, // only safe when NOT relying on route-based ACL guards...
}))
// StaticDirectoryHandlermiddleware.StaticDirectoryHandler(fs, &middleware.StaticDirectoryHandlerConfig{
EnablePathUnescaping: true,
})

Full Changelog: labstack/echo@v5.2.0...v5.2.1

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)

  • Branch creation
    • At any time (no schedule defined)
  • Automerge
    • At any time (no schedule defined)

🚦 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.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@renovate
renovateBot requested a review from a team as a code ownerMay 1, 2026 22:12
@socket-security

socket-securityBot commented May 1, 2026

Copy link
Copy Markdown

Review the following changes in direct dependencies. Learn more about Socket for GitHub.

DiffPackageSupply Chain
Security
VulnerabilityQualityMaintenanceLicense
Updatedgithub.com/​labstack/​echo/​v5@​v5.1.0 ⏵ v5.2.172+1100100100100

View full report

@renovate
renovateBotforce-pushed the renovate/github.com-labstack-echo-v5-5.x branch from 02754d7 to c24b891CompareMay 12, 2026 11:54
@renovate
renovateBotforce-pushed the renovate/github.com-labstack-echo-v5-5.x branch from c24b891 to 3fd90c2CompareMay 28, 2026 15:34
@renovaterenovateBot changed the title fix(deps): update module github.com/labstack/echo/v5 to v5.1.1fix(deps): update module github.com/labstack/echo/v5 to v5.2.0Jun 14, 2026
@renovate
renovateBotforce-pushed the renovate/github.com-labstack-echo-v5-5.x branch 2 times, most recently from 1ef2ebc to 43cc8a9CompareJune 15, 2026 23:42
@renovaterenovateBot changed the title fix(deps): update module github.com/labstack/echo/v5 to v5.2.0fix(deps): update module github.com/labstack/echo/v5 to v5.2.1Jun 15, 2026
@renovate
renovateBotforce-pushed the renovate/github.com-labstack-echo-v5-5.x branch from 43cc8a9 to 315bc8cCompareJuly 12, 2026 12:05
@mromaszewicz
mromaszewicz merged commit df140cb into mainJul 12, 2026
29 checks passed
@mromaszewicz
mromaszewicz deleted the renovate/github.com-labstack-echo-v5-5.x branch July 12, 2026 19:00
@renovaterenovateBot changed the title fix(deps): update module github.com/labstack/echo/v5 to v5.2.1fix(deps): update module github.com/labstack/echo/v5 to v5.2.1 - autoclosedJul 12, 2026
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant

@mromaszewicz