Every CVE Search/ Get API key

CVE-2026-76169

fastify vulnerable to authentication bypass via malformed URLs reaching encapsulated not-found handlers

7.5 HighFix available

fastify versions >= 4.0.0 and before 5.12.2 can route a malformed URL sent under one plugin prefix to the custom not-found handler of a different sibling plugin, and invoke it without the preHandler hook declared for that handler. The internal not-found router for encapsulated handlers dispatches malformed paths through a single shared handler pointer before URL decoding, ignoring the prefix and skipping the selected handler's normal lifecycle. An unauthenticated attacker can therefore reach an authentication-protected private fallback through an unrelated public prefix and read its full response, bypassing the authentication hook and breaking prefix encapsulation. Users should upgrade to fastify 5.12.2 or later.

Attack profile

How easy it is to exploit

Attack vector
Network
Complexity
Low
Privileges needed
None
User interaction
None

What an attacker can affect

Confidentiality
High
Integrity
None
Availability
None

Exploit likelihood

0.53%Unchanged since Sep 4, 2026
90%50%10%1%

What each source reports

CVE List Score used 7.5

fastify vulnerable to authentication bypass via malformed URLs reaching encapsulated not-found handlers

fastify versions >= 4.0.0 and before 5.12.2 can route a malformed URL sent under one plugin prefix to the custom not-found handler of a different sibling plugin, and invoke it without the preHandler hook declared for that handler. The internal not-found router for encapsulated handlers dispatches malformed paths through a single shared handler pointer before URL decoding, ignoring the prefix and skipping the selected handler's normal lifecycle. An unauthenticated attacker can therefore reach an authentication-protected private fallback through an unrelated public prefix and read its full response, bypassing the authentication hook and breaking prefix encapsulation. Users should upgrade to fastify 5.12.2 or later.

Record
CVE-2026-76169
CVSS 3.1
7.5 HighCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N
Weakness
CWE-288
Updated
2026-11-02
EUVDEUVD-2026-70988 7.5

fastify versions >= 4.0.0 and before 5.12.2 can route a malformed URL sent under one plugin prefix to the custom not-found handler of a different sibling plugin, and invoke it without the preHandler hook declared for that handler. The internal not-found router for encapsulated handlers dispatches malformed paths through a single shared handler pointer before URL decoding, ignoring the prefix and skipping the selected handler's normal lifecycle. An unauthenticated attacker can therefore reach an authentication-protected private fallback through an unrelated public prefix and read its full response, bypassing the authentication hook and breaking prefix encapsulation. Users should upgrade to fastify 5.12.2 or later.

Record
EUVD-2026-70988
CVSS 3.1
7.5 HighCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N
Updated
2026-11-02
GitHub AdvisoriesGHSA-p68q-wchp-6fh7 7.5

fastify vulnerable to authentication bypass via malformed URLs reaching encapsulated not-found handlers

Impact

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.

Patches

Patched in fastify 5.12.2. Malformed URLs are now routed through the configured onBadUrl and onMaxParamLength handlers so they fail closed before any application not-found handler runs, and the shared not-found handler pointer has been removed.

Workarounds

Reject malformed request targets before they reach the application, for example at an upstream proxy or gateway, and do not rely on a not-found handler to serve protected data. A global onRequest authentication hook does not mitigate this, because the malformed-URL path skips it.

Record
GHSA-p68q-wchp-6fh7
CVSS 3.1
7.5 HighCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N
Weakness
CWE-288
Updated
2026-11-02
NVD 7.5

fastify versions >= 4.0.0 and before 5.12.2 can route a malformed URL sent under one plugin prefix to the custom not-found handler of a different sibling plugin, and invoke it without the preHandler hook declared for that handler. The internal not-found router for encapsulated handlers dispatches malformed paths through a single shared handler pointer before URL decoding, ignoring the prefix and skipping the selected handler's normal lifecycle. An unauthenticated attacker can therefore reach an authentication-protected private fallback through an unrelated public prefix and read its full response, bypassing the authentication hook and breaking prefix encapsulation. Users should upgrade to fastify 5.12.2 or later.

Record
CVE-2026-76169
CVSS 3.1
7.5 HighCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N
Weakness
CWE-288
Updated
2026-11-02
OSV 7.5

fastify vulnerable to authentication bypass via malformed URLs reaching encapsulated not-found handlers

fastify versions >= 4.0.0 and before 5.12.2 can route a malformed URL sent under one plugin prefix to the custom not-found handler of a different sibling plugin, and invoke it without the preHandler hook declared for that handler. The internal not-found router for encapsulated handlers dispatches malformed paths through a single shared handler pointer before URL decoding, ignoring the prefix and skipping the selected handler's normal lifecycle. An unauthenticated attacker can therefore reach an authentication-protected private fallback through an unrelated public prefix and read its full response, bypassing the authentication hook and breaking prefix encapsulation. Users should upgrade to fastify 5.12.2 or later.

Record
CVE-2026-76169
CVSS 3.1
7.5 HighCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N
Weakness
CWE-288
Updated
2026-11-02
OSVGHSA-p68q-wchp-6fh7 7.5

fastify vulnerable to authentication bypass via malformed URLs reaching encapsulated not-found handlers

Impact

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.

Patches

Patched in fastify 5.12.2. Malformed URLs are now routed through the configured onBadUrl and onMaxParamLength handlers so they fail closed before any application not-found handler runs, and the shared not-found handler pointer has been removed.

Workarounds

Reject malformed request targets before they reach the application, for example at an upstream proxy or gateway, and do not rely on a not-found handler to serve protected data. A global onRequest authentication hook does not mitigate this, because the malformed-URL path skips it.

Record
GHSA-p68q-wchp-6fh7
CVSS 3.1
7.5 HighCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N
Weakness
CWE-288
Updated
2026-11-02
Show 7 moreShow less
OSVCLSA-2026-1790854816 No score

TuxCare security update for fastify (2 CVEs)

TuxCare rebuilt fastify to address 2 CVEs. Fixed in 5.12.1-tuxcare.1.

Record
CLSA-2026-1790854816
Updated
2026-11-02
OSVCLSA-2026-1790857029 No score

TuxCare security update for fastify (2 CVEs)

TuxCare rebuilt fastify to address 2 CVEs. Fixed in 5.12.0-tuxcare.2.

Record
CLSA-2026-1790857029
Updated
2026-11-02
OSVCLSA-2026-1790863084 No score

TuxCare security update for fastify (1 CVE)

TuxCare rebuilt fastify to address 1 CVE. Fixed in 5.11.3-tuxcare.4.

Record
CLSA-2026-1790863084
Updated
2026-11-02
OSVCLSA-2026-1790871227 No score

TuxCare security update for fastify (2 CVEs)

TuxCare rebuilt fastify to address 2 CVEs. Fixed in 5.7.4-tuxcare.3.

Record
CLSA-2026-1790871227
Updated
2026-11-02
OSVCLSA-2026-1790889495 No score

TuxCare security update for fastify (1 CVE)

TuxCare rebuilt fastify to address 1 CVE. Fixed in 5.2.1-tuxcare.3.

Record
CLSA-2026-1790889495
Updated
2026-11-02
OSVCLSA-2026-1792233089 No score

TuxCare security update for fastify (2 CVEs)

TuxCare rebuilt fastify to address 2 CVEs. Fixed in 4.29.1-tuxcare.7.

Record
CLSA-2026-1792233089
Updated
2026-11-02
OSVCLSA-2026-1794060794 No score

TuxCare security update for fastify (6 CVEs)

TuxCare rebuilt fastify to address 6 CVEs. Fixed in 4.28.1-tuxcare.1.

Record
CLSA-2026-1794060794
Updated
2026-11-07

Affected products

Affected packages

Affected packages
PackageAffectedFixed
fastify
npm
4.0.0 up to 5.12.2
5.12.2
fastify
TuxCare:npm
From an advisory covering 2 CVEs
5.12.1-tuxcare.0 up to 5.12.1-tuxcare.1, plus listed versions
5.12.1
5.12.1-tuxcare.1
fastify
TuxCare:npm
From an advisory covering 2 CVEs
5.12.0-tuxcare.0 up to 5.12.0-tuxcare.2, plus listed versions
5.12.05.12.0-tuxcare.1
5.12.0-tuxcare.2
fastify
TuxCare:npm
5.11.3-tuxcare.0 up to 5.11.3-tuxcare.4, plus listed versions
5.11.35.11.3-tuxcare.15.11.3-tuxcare.25.11.3-tuxcare.3
5.11.3-tuxcare.4
fastify
TuxCare:npm
5.7.4-tuxcare.0 up to 5.7.4-tuxcare.3, plus listed versions
5.7.45.7.4-tuxcare.15.7.4-tuxcare.2
5.7.4-tuxcare.3
fastify
TuxCare:npm
5.2.1-tuxcare.0 up to 5.2.1-tuxcare.3, plus listed versions
5.2.15.2.1-tuxcare.15.2.1-tuxcare.2
5.2.1-tuxcare.3
fastify
TuxCare:npm
From an advisory covering 2 CVEs
4.29.1-tuxcare.0 up to 4.29.1-tuxcare.7, plus listed versions
4.29.14.29.1-tuxcare.14.29.1-tuxcare.24.29.1-tuxcare.34.29.1-tuxcare.44.29.1-tuxcare.54.29.1-tuxcare.6
4.29.1-tuxcare.7
fastify
TuxCare:npm
From an advisory covering 6 CVEs
4.28.1-tuxcare.0 up to 4.28.1-tuxcare.1, plus listed versions
4.28.1
4.28.1-tuxcare.1

History

History
RecordedChangedSources
affected, aliasesOSV
affected, facts
first indexedCVE List, EUVD, GitHub Advisories, NVD, OSV

Dates are when Every CVE recorded each change. Upstream dates may differ.

In short

CVE-2026-76169 is a high vulnerability (CVSS 7.5) in @clerk Fastify, published September 4, 2026. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.53%, the 45th percentile. Fixed in fastify 5.12.2.

References

MoveEnter Open