Repository navigation
chore(deps): update dependency @nestjs/platform-fastify to v11.2.4 [security] - #575
Open
renovate[bot] wants to merge 1 commit into
Open
renovate[bot] wants to merge 1 commit into
renovate[bot] wants to merge 1 commit into
Conversation
|
renovate
Bot
force-pushed
the
renovate/npm-nestjs-platform-fastify-vulnerability
branch
2 times, most recently
from
August 14, 2026 20:52
55d74c8 to
0e775ad
Compare
renovate
Bot
force-pushed
the
renovate/npm-nestjs-platform-fastify-vulnerability
branch
from
August 26, 2026 13:03
0e775ad to
5288b1e
Compare
renovate
Bot
force-pushed
the
renovate/npm-nestjs-platform-fastify-vulnerability
branch
3 times, most recently
from
September 7, 2026 15:56
a293e53 to
57b6d84
Compare
renovate
Bot
force-pushed
the
renovate/npm-nestjs-platform-fastify-vulnerability
branch
3 times, most recently
from
September 15, 2026 17:48
29ee7ea to
09f93d0
Compare
renovate
Bot
force-pushed
the
renovate/npm-nestjs-platform-fastify-vulnerability
branch
2 times, most recently
from
September 24, 2026 23:32
dadcdec to
56a1189
Compare
renovate
Bot
force-pushed
the
renovate/npm-nestjs-platform-fastify-vulnerability
branch
from
October 1, 2026 00:58
56a1189 to
6bca5b2
Compare
renovate
Bot
force-pushed
the
renovate/npm-nestjs-platform-fastify-vulnerability
branch
from
October 10, 2026 21:58
6bca5b2 to
146e9f8
Compare
renovate
Bot
force-pushed
the
renovate/npm-nestjs-platform-fastify-vulnerability
branch
from
October 13, 2026 16:32
146e9f8 to
ff0b827
Compare
renovate
Bot
force-pushed
the
renovate/npm-nestjs-platform-fastify-vulnerability
branch
3 times, most recently
from
October 26, 2026 23:06
1b8a4f5 to
1e12835
Compare
renovate
Bot
force-pushed
the
renovate/npm-nestjs-platform-fastify-vulnerability
branch
from
November 2, 2026 13:15
1e12835 to
6114eb0
Compare
renovate
Bot
force-pushed
the
renovate/npm-nestjs-platform-fastify-vulnerability
branch
from
November 6, 2026 03:13
6114eb0 to
c2165d7
Compare
This branch has not been deployed
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:
11.1.17→11.2.4Nest: Middleware Bypass on Fastify via Trailing Slash
CVE-2026-54281 / GHSA-6v32-fjc9-9qf6
More information
Details
Impact
An authentication bypass vulnerability exists in
@nestjs/platform-fastify(confirmed on version11.1.24, the latest available release at time of report). When middleware is registered through NestJS'sMiddlewareConsumer.forRoutes()API on the Fastify adapter, an unauthenticated client can bypass the Nest middleware registered for that route by simply appending a trailing slash (/) to the request URL.This bypass works on the default Fastify adapter configuration — no special router options need to be enabled. Applications using the standard CRUD route shape (
GET /resourceandGET /resource/:id) are affected when they protect those routes withMiddlewareConsumer.forRoutes()middleware.Patches
Fixed in
@nestjs/platform-fastify@11.1.24References
Kudos goes to @a-tt-om
Severity
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:L/SC:N/SI:N/SA:NReferences
This data is provided by the GitHub Advisory Database (CC-BY 4.0).
@nestjs/platform-fastify: Path-scoped middleware bypass via absolute-form request targets
GHSA-9c5c-9qcx-q35q
More information
Details
@nestjs/platform-fastify>= 12.0.0, < 12.0.2and< 11.2.412.0.2and11.2.4(upgrade to12.0.3/11.2.5)Summary
On the Fastify adapter, an HTTP request that uses an absolute-form request target (
GET http://host/path HTTP/1.1instead of
GET /path HTTP/1.1) reaches the route handler without running the path-scoped Nest middleware bound tothat route. Applications that enforce authentication or authorization in middleware execute the protected handler
with those checks skipped.
Impact
Any application that
@nestjs/platform-fastify, andMiddlewareConsumer.forRoutes(...)or.exclude(...), andNode's HTTP server accepts absolute-form targets, so no special server configuration is needed. Exposure is reduced
when a reverse proxy in front of the application rewrites the request target to origin-form, which most do.
Where the bypassed middleware performs authentication or authorization, the result is an authentication or
authorization bypass. Where it performs logging, rate limiting or body handling, those are silently skipped instead.
Details
Fastify's router (
find-my-way) resolves an absolute-form target to its path before matching, so the route handleris dispatched normally. Two places on the middleware side matched against the raw request target instead:
@fastify/middieengine atpackages/platform-fastify/adapters/middie/fastify-middie.ts.NestJS carried this fork to apply an earlier path-decoding fix and it did not track the upstream absolute-form fix
released in
@fastify/middie@9.3.4.FastifyAdapter's own re-check increateMiddlewareFactory(), which tests the middleware path regexp againstreq.originalUrl.Both normalized and percent-decoded the target, but neither resolved absolute-form to a path, so the router and the
middleware layer disagreed about which path was being requested.
A second, related defect contributed. Because the adapter always passes
routerOptions(to install the versionconstraint), Fastify did not reflect the deprecated top-level router options (
ignoreTrailingSlash,ignoreDuplicateSlashes,caseSensitive,useSemicolonDelimiter) ininitialConfig.routerOptions, which is whatthe middleware engine reads. Applications passing those options at the top level had middleware normalize paths
differently from the router, which widened the mismatch.
Proof of concept
supertestandlight-my-requestalways emit origin-form targets, so the request has to be written to the socket:Observed on an affected version:
protected data— the middleware did not run.Expected, and observed on a patched version:
blocked by auth middleware.Patches
Fixed in 12.0.2 and 11.2.4. Upgrading to 12.0.3 or 11.2.5 is recommended.
@fastify/middiefork was removed and the package now depends on@fastify/middie@9.3.4, whichresolves absolute-form targets before matching.
find-my-way.routerOptionsso the middleware engine and therouter normalize paths identically.
Workarounds
If you cannot upgrade, reject non-origin-form request targets before middleware runs. Register the hook on the
Fastify instance before the application is initialized, so that it runs ahead of the middleware engine's own
onRequesthook, and confirm with the request above that the rejection takes effect:Rejecting or normalizing absolute-form targets at a reverse proxy in front of the application is equally effective.
Credit
Reported by ZeroVuln Labs.
Severity
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:NReferences
This data is provided by the GitHub Advisory Database (CC-BY 4.0).
Release Notes
nestjs/nest (@nestjs/platform-fastify)
v11.2.4Compare Source
What's changed
v11.2.3Compare Source
What's Changed
Full Changelog: nestjs/nest@v11.2.2...v11.2.3
v11.2.2Compare Source
What's changed
v11.2.1Compare Source
What's Changed
Full Changelog: nestjs/nest@v11.2.0...v11.2.1
v11.2.0Compare Source
What's Changed
New Contributors
Full Changelog: nestjs/nest@v11.1.29...v11.2.0
v11.1.29Compare Source
What's Changed
New Contributors
Full Changelog: nestjs/nest@v11.1.28...v11.1.29
v11.1.28Compare Source
v11.1.28 (2026-07-08)
Bug fixes
corecommonwebsocketsEnhancements
coreDependencies
platform-fastifyplatform-expressCommitters: 4
v11.1.27Compare Source
What's Changed
Full Changelog: nestjs/nest@v11.1.26...v11.1.27
v11.1.26Compare Source
What's Changed
Full Changelog: nestjs/nest@v11.1.25...v11.1.26
v11.1.25Compare Source
What's Changed
New Contributors
Full Changelog: nestjs/nest@v11.1.24...v11.1.25
v11.1.24Compare Source
v11.1.24 (2026-05-25)
Bug fixes
coreEnhancements
coreDependencies
platform-wsCommitters: 2
v11.1.23Compare Source
v11.1.23 (2026-05-21)
Bug fixes
coreCommitters: 1
v11.1.22Compare Source
v11.1.22 (2026-05-21)
Bug fixes
coreEnhancements
coreCommitters: 2
v11.1.21Compare Source
v11.1.21 (2026-05-14)
Bug fixes
coreCommitters: 1
v11.1.20Compare Source
v11.1.20 (2026-05-13)
Bug fixes
core,testingcoremicroservicescommonplatform-socket.ioEnhancements
microservicescommonplatform-expressDependencies
platform-wsCommitters: 13
v11.1.19Compare Source
v11.1.19 (2026-04-13)
Bug fixes
microservicesCommitters: 2
v11.1.18Compare Source
v11.1.18 (2026-04-03)
Bug fixes
microservicescoreDependencies
core,platform-express,platform-fastifyplatform-fastifyplatform-wscommonCommitters: 6
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.