@fastify/express vulnerable to middleware authentication bypass via URL normalization gaps (duplicate slashes and semicolons)
Impact@fastify/express v4.0.4 and earlier fails to normalize URLs before passing them to Express middleware when Fastify router normalization options are enabled. This allows complete bypass of path-scoped authentication middleware via duplicate slashes when ignoreDuplicateSlashes is enabled, or via semicolon delimiters when useSemicolonDelimiter is enabled. In both cases, Fastify router normalizes the URL and matches the route, but @fastify/express passes the original un-normalized URL to Express middleware, which fails to match and is skipped. An unauthenticated attacker can access protected routes by manipulating the URL path. PatchesUpgrade to @fastify/express v4.0.5 or later.
- Products
- Not specified
- Affected versions
- Not specified
- Fixed versions
- Not specified
- CVEs
- CVE-2026-33808
- Confirmed fixed CVEs
- Not specified
- Updated in this feed
- 3 Nov 2026, 04:21 UTC · Revision 1
Source evidence
@fastify/express vulnerable to middleware authentication bypass via URL normalization gaps (duplicate slashes and semicolons)
core-osv · Original sourcePublished 15 Apr 2026, 09:29 UTC
Impact@fastify/express v4.0.4 and earlier fails to normalize URLs before passing them to Express middleware when Fastify router normalization options are enabled. This allows complete bypass of path-scoped authentication middleware via duplicate slashes when ignoreDuplicateSlashes is enabled, or via semicolon delimiters when useSemicolonDelimiter is enabled. In both cases, Fastify router normalizes the URL and matches the route, but @fastify/express passes the original un-normalized URL to Express middleware, which fails to match and is skipped. An unauthenticated attacker can access protected routes by manipulating the URL path. PatchesUpgrade to @fastify/express v4.0.5 or later.
osv:CVE-2026-33808
Complete source record
{
"id": "34a189e291556b4839d9cb80f50898cdcc5ae561e8f2078568e5c6e77a0fde66",
"url": "https://osv.dev/vulnerability/CVE-2026-33808",
"method": "structured",
"payload": {
"kind": "advisory",
"title": "@fastify/express vulnerable to middleware authentication bypass via URL normalization gaps (duplicate slashes and semicolons)",
"summary": "Impact@fastify/express v4.0.4 and earlier fails to normalize URLs before passing them to Express middleware when Fastify router normalization options are enabled. This allows complete bypass of path-scoped authentication middleware via duplicate slashes when ignoreDuplicateSlashes is enabled, or via semicolon delimiters when useSemicolonDelimiter is enabled. In both cases, Fastify router normalizes the URL and matches the route, but @fastify/express passes the original un-normalized URL to Express middleware, which fails to match and is skipped. An unauthenticated attacker can access protected routes by manipulating the URL path. PatchesUpgrade to @fastify/express v4.0.5 or later.",
"evidence": "osv:CVE-2026-33808",
"products": [],
"severity": "critical",
"structured": {
"id": "CVE-2026-33808",
"aliases": [
"CVE-2026-33808",
"GHSA-6hw5-45gm-fj88"
],
"metrics": [
{
"type": "CVSS_V4",
"score": "CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N"
}
],
"affected": [
{
"ranges": [
{
"repo": "https://github.com/fastify/fastify-express",
"type": "GIT",
"events": [
{
"introduced": "0"
},
{
"fixed": "f52f4476cbd874a9526027082b9e075d3bff63ac"
}
],
"database_specific": {
"extracted_events": [
{
"range": [
{
"introduced": "0"
},
{
"fixed": "4.0.5"
}
],
"source": "AFFECTED_FIELD",
"strategy": "StandardRange"
},
{
"cpe": "cpe:2.3:a:fastify:fastify\\/express:*:*:*:*:*:node.js:*:*",
"range": [
{
"introduced": "0"
},
{
"fixed": "4.0.5"
}
],
"source": "CPE_RANGE"
}
]
}
}
],
"versions": [
"v4.0.4",
"v4.0.3",
"v4.0.2",
"v4.0.1",
"v4.0.0",
"v3.0.0",
"v2.3.0",
"v2.2.0",
"v2.1.0",
"v2.0.2",
"v2.0.1",
"v2.0.0",
"v1.1.0",
"v1.0.0",
"v0.3.3",
"v0.3.2",
"v0.3.1",
"v0.3.0",
"v0.2.0",
"v0.1.0"
],
"database_specific": {
"source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-33808.json"
}
}
],
"modified": "2026-10-28T02:30:25.889599705Z",
"provider": "osv",
"references": [
"https://cna.openjsf.org/security-advisories.html",
"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/33xxx/CVE-2026-33808.json",
"https://github.com/fastify/fastify-express/security/advisories/GHSA-6hw5-45gm-fj88",
"https://nvd.nist.gov/vuln/detail/CVE-2026-33808"
],
"provider_metadata": {
"cwe_ids": [
"CWE-436"
],
"cna_assigner": "openjs",
"osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/33xxx/CVE-2026-33808.json"
}
},
"related_cves": [
{
"value": "CVE-2026-33808",
"evidence": "/id"
}
],
"security_relevant": true,
"severity_evidence": "/severity/0/score"
},
"source_id": "core-osv",
"document_id": 492432,
"published_at": "2026-04-15T09:29:46.091+00:00"
}