fix(deps): update module github.com/labstack/echo/v4 to v5#169
Open
netic-renovate[bot] wants to merge 1 commit into
Open
fix(deps): update module github.com/labstack/echo/v4 to v5#169netic-renovate[bot] wants to merge 1 commit into
netic-renovate[bot] wants to merge 1 commit into
Conversation
0478297 to
591ce84
Compare
374f41b to
eb64253
Compare
3ad7c84 to
8f8dc42
Compare
8f8dc42 to
000223f
Compare
8001429 to
da96579
Compare
1445764 to
c13f041
Compare
d5e6751 to
6cd31fe
Compare
6cd31fe to
c8b5c84
Compare
5c5791b to
75b75eb
Compare
Contributor
Author
Edited/Blocked NotificationRenovate will not automatically rebase this PR, because it does not recognize the last commit author and assumes somebody else may have edited the PR. You can manually request rebase by checking the rebase/retry box above. |
75b75eb to
7114a76
Compare
7114a76 to
48fe22a
Compare
287ac12 to
0701168
Compare
0701168 to
b87b45f
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
v4.15.4→v5.2.1Warning
Some dependencies could not be looked up. Check the warning logs for more information.
Release Notes
labstack/echo (github.com/labstack/echo/v4)
v5.2.1Compare 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:
Then requests to
/admin%2fprivate.txtwould not be matched toGET /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.txtwhich willpath.Clean("/assets/../admin%2fprivate.txt")to/admin/private.txtand are servable if static file serving is configured to unescape paths.If you want to guard routes - use middlewares on
Static*methods and beforeStaticmiddleware.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(onStaticConfigandStaticDirectoryHandlerConfig) is deprecated and replaced byEnablePathUnescaping(defaultfalse). 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 cannotbypass route-level authentication or other middleware guards.
What this does NOT protect: Serving a directory with
Static,StaticFS, orStaticDirectoryHandlerexposes its entire subtree. Sibling routes are not a reliableACL 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.txt→hello world.txt), you must now opt in:Full Changelog: labstack/echo@v5.2.0...v5.2.1
v5.2.0Compare Source
Security
Fixes GHSA-vfp3-v2gw-7wfq: an encoded path separator (
%2For%5C) in a static file URL could bypass route-level middleware (e.g. authentication on a sibling route) and disclose static files. BothStaticDirectoryHandler/StaticFSand theStaticmiddleware 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.1Compare Source
Security
Context.Scheme()should validate values taken from header by @aldas in #2953Thanks to @shblue21 for reporting this issue.
Enhancements
v5.1.0Compare Source
Security
This change does not break the API contract, but it does introduce breaking changes in logic/behavior.
If your application is using
c.RealIP()beware and read https://echo.labstack.com/docs/ip-addressv4behavior can be restored with:Enhancements
v5.0.4Compare Source
Enhancements
http.Server.Servereturns we need to wait for graceful shutdown goroutine to finish by @aldas in #2898echo.StatusCodeby @suwakei in #2892echo.ResolveResponseStatusfunction to help middleware/handlers determine HTTP status code and echo.Response by @aldas in #2900v5.0.3Compare Source
Security
This applies to cases when:
middleware.StaticConfig.Filesystemisnil(default)echo.Filesystemis has not been set explicitly (default)Exposure is restricted to the active process working directory and its subfolders.
v5.0.2Compare Source
Security
config.Browse=truelists all files/subfolders fromconfig.Filesystemroot and not starting fromconfig.Rootin #2887v5.0.1Compare Source
v5.0.0Compare Source
Echo
v5is maintenance release with major breaking changesContextis now struct instead of interface and we can add method to it in the future in minor versions.Routerinterface for possible new routing implementations.log/sloginstead.Upgrade notes and
v4support:v4is supported with security* updates and bug fixes until 2026-12-31v5API changes will be addressed, even if this violates semantic versioning.See API_CHANGES_V5.md for public API changes between
v4andv5, notes on upgrading.Upgrading TLDR:
If you are using Linux you can migrate easier parts like that:
macOS
or in your favorite IDE
Replace all:
echo.Context->*echo.Contextecho/v4->echo/v5This should solve most of the issues. Probably the hardest part is updating all the tests.
Configuration
📅 Schedule: (UTC)
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.
This PR has been generated by Mend Renovate.