GitHub Advisoryadvisory · npm

GHSA-m8vh-jmq9-5rjg Nest: Remote process termination via a deeply nested microservice message pattern

HIGH Published 2026-09-29 Modified 2026-09-29 Official page ↗
Aliases
CVE-2026-102281
Ecosystem
npm
Packages
@nestjs/microservices
Severity
High
CVSS vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Weaknesses
CWE-248, CWE-674
Reviewed
2026-09-29

Affected packages

• npm @nestjs/microservices: < 11.2.4 → fixed in 11.2.4 • npm @nestjs/microservices: >= 12.0.0, < 12.0.2 → fixed in 12.0.2

Description

| Field | Value | | --- | --- | | Ecosystem | npm | | Package | `@nestjs/microservices` | | Affected versions | `>= 12.0.0, { // Nest's TCP framing is # socket.write(`${Buffer.byteLength(payload)}#${payload}`); }); ``` The service exits with `RangeError: Maximum call stack size exceeded`. The equivalent payload published to the consumed queue crashes a RabbitMQ-transport service. Patches Fixed in 12.0.2 and 11.2.4. • Incoming patterns are converted through a guarded `Server#getPatternAsString`, which falls back to a sentinel value that matches no handler. Such a message now receives the ordinary "no message handler" response (TCP) or is negatively acknowledged (RabbitMQ) instead of crashing the process. • Rejections escaping `handleMessage` in both transports are routed to `handleError` rather than left unhandled. Workarounds If you cannot upgrade, restrict network access to the transport so that only trusted peers can reach it. Running the process with `--unhandled-rejections=warn` prevents the crash but leaves the message unprocessed and is not a substitute for the fix. Credit Reported by ZeroVuln Labs.

Related

Alias · CVE (1)

  • CVE-2026-102281 Nest is a framework for building scalable Node.js server-side applications. vulnerability

Weakness · CWE (2)

  • CWE-248 Uncaught Exception weakness
  • CWE-674 Uncontrolled Recursion weakness

References