CVE-2026-6556
@fastify/express vulnerable to middleware bypass via non-string mount paths in prefixed plugins
Description
@fastify/express versions 4.0.6 and earlier only rewrite the plugin prefix for middleware mount paths when the path argument is a string. Non-string mount paths (arrays of paths and regular expressions) are left unprefixed inside prefixed plugin scopes, so middleware registered with those forms does not match the actual prefixed request path. Applications that use path-scoped middleware for authentication, authorization, rate limiting, or auditing on routes inside a prefixed scope can be bypassed by sending a request to the prefixed route, because Fastify still matches the route but the middleware is skipped. Patches: upgrade to @fastify/express 4.0.7. Workarounds: use string mount paths instead of arrays or regular expressions in prefixed plugins, or register one use call per path.
INFO
Published Date :
June 30, 2026, 1:19 p.m.
Last Modified :
July 1, 2026, 3:57 p.m.
Remotely Exploit :
No
Source :
ce714d77-add3-4f53-aff5-83d477b104bb
CVSS Scores
| Score | Version | Severity | Vector | Exploitability Score | Impact Score | Source |
|---|---|---|---|---|---|---|
| CVSS | 134c704f-9b21-4f2e-91b3-4a467353bcc0 | |||||
| CVSS 3.1 | CRITICAL | ce714d77-add3-4f53-aff5-83d477b104bb |
Solution
- Upgrade @fastify/express to 4.0.7 or later.
- Use string mount paths instead of arrays/regex.
- Register one 'use' call per path if needed.
Public PoC/Exploit Available at Github
CVE-2026-6556 has a 1 public
PoC/Exploit available at Github.
Go to the Public Exploits tab to see the list.
References to Advisories, Solutions, and Tools
Here, you will find a curated list of external links that provide in-depth
information, practical solutions, and valuable tools related to
CVE-2026-6556.
| URL | Resource |
|---|---|
| https://cna.openjsf.org/security-advisories.html | Vendor Advisory |
| https://github.com/fastify/fastify-express/security/advisories/GHSA-3wf5-7852-vcfq | Mitigation Vendor Advisory |
CWE - Common Weakness Enumeration
While CVE identifies
specific instances of vulnerabilities, CWE categorizes the common flaws or
weaknesses that can lead to vulnerabilities. CVE-2026-6556 is
associated with the following CWEs:
Common Attack Pattern Enumeration and Classification (CAPEC)
Common Attack Pattern Enumeration and Classification
(CAPEC)
stores attack patterns, which are descriptions of the common attributes and
approaches employed by adversaries to exploit the CVE-2026-6556
weaknesses.
We scan GitHub repositories to detect new proof-of-concept exploits. Following list is a collection of public exploits and proof-of-concepts, which have been published on GitHub (sorted by the most recently updated).
Public CVE writeups, reproducible proof-of-concepts, and reusable scanners from my vulnerability research.
cve poc scanner security writeups
Python Shell JavaScript
Results are limited to the first 15 repositories due to potential performance issues.
The following list is the news that have been mention
CVE-2026-6556 vulnerability anywhere in the article.
The following table lists the changes that have been made to the
CVE-2026-6556 vulnerability over time.
Vulnerability history details can be useful for understanding the evolution of a vulnerability, and for identifying the most recent changes that may impact the vulnerability's severity, exploitability, or other characteristics.
-
Initial Analysis by [email protected]
Jul. 01, 2026
Action Type Old Value New Value Added CPE Configuration OR *cpe:2.3:a:fastify:fastify/express:*:*:*:*:*:node.js:*:* versions up to (excluding) 4.0.7 Added Reference Type openjs: https://cna.openjsf.org/security-advisories.html Types: Vendor Advisory Added Reference Type openjs: https://github.com/fastify/fastify-express/security/advisories/GHSA-3wf5-7852-vcfq Types: Mitigation, Vendor Advisory -
CVE Modified by 134c704f-9b21-4f2e-91b3-4a467353bcc0
Jun. 30, 2026
Action Type Old Value New Value Added SSVC {'id': 'CVE-2026-6556', 'role': 'CISA Coordinator', 'options': [{'exploitation': 'none'}, {'automatable': 'yes'}, {'technicalImpact': 'total'}], 'version': '2.0.3', 'timestamp': '2026-06-30T13:30:22.928078Z'} -
New CVE Received by ce714d77-add3-4f53-aff5-83d477b104bb
Jun. 30, 2026
Action Type Old Value New Value Added Affected [{'vendor': '@fastify/express', 'product': '@fastify/express', 'versions': [{'status': 'affected', 'version': '0', 'lessThan': '4.0.7', 'versionType': 'semver'}, {'status': 'unaffected', 'version': '4.0.7', 'versionType': 'semver'}], 'packageURL': 'pkg:npm/@fastify/express', 'defaultStatus': 'unaffected'}] Added Description @fastify/express versions 4.0.6 and earlier only rewrite the plugin prefix for middleware mount paths when the path argument is a string. Non-string mount paths (arrays of paths and regular expressions) are left unprefixed inside prefixed plugin scopes, so middleware registered with those forms does not match the actual prefixed request path. Applications that use path-scoped middleware for authentication, authorization, rate limiting, or auditing on routes inside a prefixed scope can be bypassed by sending a request to the prefixed route, because Fastify still matches the route but the middleware is skipped. Patches: upgrade to @fastify/express 4.0.7. Workarounds: use string mount paths instead of arrays or regular expressions in prefixed plugins, or register one use call per path. Added CVSS V3.1 AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N Added CWE CWE-285 Added Reference https://cna.openjsf.org/security-advisories.html Added Reference https://github.com/fastify/fastify-express/security/advisories/GHSA-3wf5-7852-vcfq