CVE: Middleware path bypass via URL encoding — attacker can use /%61dmin to bypass middleware protecting /admin.
JSS impact: Low. JSS uses @fastify/middie only to bridge oidc-provider (Koa) into Fastify. It's registered globally without path-based filtering, so there's no path-scoped middleware to bypass.
One thing to verify: request.hostname no longer includes port in v5 (~20 uses across the codebase). JSS already strips port in some places (passkey.js), but needs a test pass.
Recommendation: Single PR covering Fastify 5 + middie 9.1.0. Roughly 1 hour of work.
Activity
melvincarvalho commented on Feb 23, 2026
Investigation Findings
CVE: Middleware path bypass via URL encoding — attacker can use /%61dmin to bypass middleware protecting /admin.
JSS impact: Low. JSS uses @fastify/middie only to bridge oidc-provider (Koa) into Fastify. It's registered globally without path-based filtering, so there's no path-scoped middleware to bypass.
Blocker: @fastify/middie@^9.1.0 (the fix) requires Fastify 5. Upgrading middie alone causes:
Recommendation: Bundle this fix with the Fastify 4→5 migration (#125). No urgent action needed given low practical impact on JSS's current usage.
melvincarvalho commented on Feb 23, 2026
Fastify 5 Upgrade Assessment
Since @fastify/middie@^9.1.0 requires Fastify 5, here's the migration assessment:
Difficulty: ~2/10
Only 1 actual code change needed:
Everything else JSS already does correctly:
Dep bumps needed:
One thing to verify: request.hostname no longer includes port in v5 (~20 uses across the codebase). JSS already strips port in some places (passkey.js), but needs a test pass.
Recommendation: Single PR covering Fastify 5 + middie 9.1.0. Roughly 1 hour of work.