Description
Nest is a framework for building scalable Node.js server-side applications. Prior to 11.2.4 and 12.0.2, a single message with a deeply nested object in its pattern can terminate a NestJS microservice using the TCP or RabbitMQ transport. ServerTCP#handleMessage and ServerRMQ#handleMessage pass a client-controlled non-string pattern to JSON.stringify to derive the handler lookup key; sufficiently deep nesting throws RangeError: Maximum call stack size exceeded, and the unhandled promise rejection terminates Node.js under its default behavior. An attacker who can reach the TCP port or publish to the consumed RabbitMQ queue or exchange can crash the service on demand; other transports are not affected because their patterns arrive as strings. This issue is fixed in versions 11.2.4 and 12.0.2.
Published: 2026-09-28
Score: 7.5 High
EPSS: < 1% Very Low
KEV: No
Impact: Denial of Service
Action: Immediate Patch
AI Analysis

Impact

A single message with a deeply nested object in its pattern can crash a NestJS microservice that uses the TCP or RabbitMQ transport. The attacker‑controlled pattern is passed to JSON.stringify to derive a handler key; when the recursion depth exceeds JavaScript limits a RangeError occurs, and the resulting unhandled promise rejection terminates the Node.js process. The flaw represents uncontrolled recursion and untrusted content deserialization, corresponding to CWE‑674 and CWE‑248, and results in a denial‑of‑service condition.

Affected Systems

Applications built with the NestJS framework older than version 11.2.4 or 12.0.2 are affected. The vulnerability exists only when the TCP or RabbitMQ transport is used, because these transports deliver the pattern as a non‑string object; all other NestJS transports are not impacted.

Risk and Exploitability

The CVSS score of 7.5 indicates a high impact severity. EPSS data are not available, and the issue is not listed in the CISA KEV catalog. An attacker who can reach the TCP port or publish to the RabbitMQ queue that the microservice consumes can trigger the crash without authentication, making this a readily exploitable denial‑of‑service (DoS) vector.

Generated by OpenCVE AI on September 28, 2026 at 22:51 UTC.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Upgrade NestJS to version 11.2.4 or newer, or to 12.0.2 or newer, where the issue is fixed.
  • Restrict network access to the application’s TCP port and the RabbitMQ queues or exchanges that the microservice listens on, allowing only trusted clients or requiring authentication.
  • Add a validation layer before message dispatch to limit the maximum depth of nested objects, or configure an external reverse proxy to reject excessively large payloads.

Generated by OpenCVE AI on September 28, 2026 at 22:51 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Github GHSA Github GHSA GHSA-m8vh-jmq9-5rjg Nest: Remote process termination via a deeply nested microservice message pattern
History

Tue, 29 Sep 2026 13:15:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'yes', 'Exploitation': 'poc', 'Technical Impact': 'partial'}, 'version': '2.0.3'}


Mon, 28 Sep 2026 23:15:00 +0000

Type Values Removed Values Added
First Time appeared Nestjs
Nestjs nest
Vendors & Products Nestjs
Nestjs nest

Mon, 28 Sep 2026 21:30:00 +0000

Type Values Removed Values Added
Description Nest is a framework for building scalable Node.js server-side applications. Prior to 11.2.4 and 12.0.2, a single message with a deeply nested object in its pattern can terminate a NestJS microservice using the TCP or RabbitMQ transport. ServerTCP#handleMessage and ServerRMQ#handleMessage pass a client-controlled non-string pattern to JSON.stringify to derive the handler lookup key; sufficiently deep nesting throws RangeError: Maximum call stack size exceeded, and the unhandled promise rejection terminates Node.js under its default behavior. An attacker who can reach the TCP port or publish to the consumed RabbitMQ queue or exchange can crash the service on demand; other transports are not affected because their patterns arrive as strings. This issue is fixed in versions 11.2.4 and 12.0.2.
Title Nest: Remote process termination via a deeply nested microservice message pattern
Weaknesses CWE-248
CWE-674
References
Metrics cvssV3_1

{'score': 7.5, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H'}


cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-09-29T12:50:34.126Z

Reserved: 2026-09-28T20:11:16.659Z

Link: CVE-2026-102281

cve-icon Vulnrichment

Updated: 2026-09-29T12:50:13.613Z

cve-icon NVD

Status : Awaiting Analysis

Published: 2026-09-28T22:17:32.050

Modified: 2026-09-30T19:56:45.443

Link: CVE-2026-102281

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-09-28T23:00:07Z

Weaknesses