CVE-2026-76169: fastify vulnerable to authentication bypass via malformed URLs reaching encapsulated not-found handlers
Fastify routes a malformed URL under one plugin prefix to the custom not-found handler of a different sibling plugin, invoking the handler registered last and skipping the preHandler declared in its setNotFoundHandler(). When the request method has no route in the main router, a malformed request target reaches Fastify’s internal not-found router before URL decoding and is dispatched through a single shared handler pointer, regardless of prefix and without the normal request lifecycle. An unauthenticated request to a public prefix can therefore reach an authentication-protected not-found handler registered under a different prefix and receive its full response, breaking prefix encapsulation and bypassing the authentication hook. Applications whose private or tenant fallbacks return protected data from a not-found handler are affected.
References
- cna.openjsf.org/security-advisories.html
- github.com/advisories/GHSA-p68q-wchp-6fh7
- github.com/fastify/fastify/commit/93c239a380f3f2778bb7565fcdf777e91cfe1fbc
- github.com/fastify/fastify/releases/tag/v5.12.2
- github.com/fastify/fastify/security/advisories/GHSA-p68q-wchp-6fh7
- nvd.nist.gov/vuln/detail/CVE-2026-76169
Code Behaviors & Features
Detect and mitigate CVE-2026-76169 with GitLab Dependency Scanning
Secure your software supply chain by verifying that all open source dependencies used in your projects contain no disclosed vulnerabilities. Learn more about Dependency Scanning →