Skip to content
Heist/ feed
HighFix available

@nestjs/platform-fastify: Path-scoped middleware bypass via absolute-form request targets

Type: advisorySource: OSV1 source record

| Field | Value | | --- | --- | | Ecosystem | npm | | Package | `@nestjs/platform-fastify` | | Affected versions | `>= 12.0.0, < 12.0.2` and `< 11.2.4` | | Patched versions | `12.0.2` and `11.2.4` (upgrade to `12.0.3` / `11.2.5`) | ### Summary On the Fastify adapter, an HTTP request that uses an **absolute-form request target** (`GET http://host/path HTTP/1.1` instead of `GET /path HTTP/1.1`) reaches the route handler without running the path-scoped Nest middleware bound to that route. Applications that enforce authentication or authorization in middleware execute the protected handler with those checks skipped. ### Impact Any application that - uses `@nestjs/platform-fastify`, and - binds middleware to specific paths via `MiddlewareConsumer.forRoutes(...)` or `.exclude(...)`, and - is reachable by a client that controls the raw request line. Node's HTTP server accepts absolute-form targets, so no special server configuration is needed. Exposure is reduced when a reverse proxy in front of the application rewrites the request target to origin-form, which most do. Where the bypassed middleware performs authentication or authorization, the result is an authentication or authorization bypass. Where it performs logging, rate limiting or body handling, those are silently skipped instead. ### Details Fastify's router (`find-my-way`) resolves an absolute-form target to its path before matching, so the route handler is dispatched normally. Two places on the middleware side matched aga

Announced Source revision 1
Original source ↗

GHSA-9c5c-9qcx-q35q

Primary source · Revision 1

Imported from structured advisory data. Source references identify upstream records or fields; verify affected versions and your deployed configuration.

Security context

Source reference: osv:GHSA-9c5c-9qcx-q35q

@nestjs/platform-fastify

Source reference: /affected/0/package/name

Affected versions
Not stated in this record
Fixed versions
11.2.4

Source reference: /affected/0/ranges

Prerequisites
Not stated in this record

@nestjs/platform-fastify

Source reference: /affected/1/package/name

Affected versions
Not stated in this record
Fixed versions
12.0.2

Source reference: /affected/1/ranges

Prerequisites
Not stated in this record

Structured affected-version data

Original package identities and version rules from this source.

[
  {
    "ranges": [
      {
        "type": "SEMVER",
        "events": [
          {
            "introduced": "0"
          },
          {
            "fixed": "11.2.4"
          }
        ]
      }
    ],
    "package": {
      "name": "@nestjs/platform-fastify",
      "purl": "pkg:npm/%40nestjs/platform-fastify",
      "ecosystem": "npm"
    },
    "database_specific": {
      "source": "https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2026/09/GHSA-9c5c-9qcx-q35q/GHSA-9c5c-9qcx-q35q.json"
    }
  },
  {
    "ranges": [
      {
        "type": "SEMVER",
        "events": [
          {
            "introduced": "12.0.0"
          },
          {
            "fixed": "12.0.2"
          }
        ]
      }
    ],
    "package": {
      "name": "@nestjs/platform-fastify",
      "purl": "pkg:npm/%40nestjs/platform-fastify",
      "ecosystem": "npm"
    },
    "database_specific": {
      "source": "https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2026/09/GHSA-9c5c-9qcx-q35q/GHSA-9c5c-9qcx-q35q.json"
    }
  }
]

Publisher severity

high

Source reference: /database_specific/severity

Event
#37688 · Revision 1
Added to Heist Feed
Publisher date
Read the original announcement