Jan 1, 2026·5 min read·8 visits
If you are using NestJS with Fastify, your middleware might be blind. An attacker can access protected routes like `/admin` by requesting `/%61dmin`. The middleware sees a mismatch and ignores it, but the underlying Fastify router decodes it and serves the restricted content. Patch immediately to version 11.1.11.
A critical normalization discrepancy in the NestJS Fastify adapter allows attackers to bypass middleware security checks simply by URL-encoding characters in the request path.
CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:H/VI:H/VA:N| Product | Affected Versions | Fixed Version |
|---|---|---|
@nestjs/platform-fastify NestJS | < 11.1.11 | 11.1.11 |
| Attribute | Detail |
|---|---|
| CWE ID | CWE-367 (Time-of-Check Time-of-Use) |
| CVSS Score | 6.9 (Medium) |
| Attack Vector | Network (URL Encoding) |
| Impact | Security Bypass / Authorization Bypass |
| Affected Component | @nestjs/platform-fastify |
| Fix Version | 11.1.11 |
The product checks the state of a resource before using it, but the resource's state can change between the check and the use in a way that invalidates the results of the check.