Vulnerability · Published Nov 4, 2026 · Assigned by GitHub_M
CVE-2026-97705Moleculer: Unauthenticated Denial of Service via negative length field in the TCP transporter packet parser
High 7.5
In plain English
A high-severity infinite loop in moleculer from moleculerjs. There are no confirmed reports of exploitation so far. The chance it is exploited in the next 30 days is estimated at 0.4% (higher than 29% of all known vulnerabilities).
Official description
Moleculer is a progressive microservices framework for Node.js. Prior to 0.14.36 and 0.15.2, Parser._write in src/transporters/tcp/parser.js used Buffer.prototype.readInt32BE to read a signed packet length, so a remote unauthenticated peer could supply a negative value that caused packet.slice(length) to return the unchanged buffer while the while (packet.length > 0) loop continued indefinitely. The synchronous loop blocked the Node.js event loop and made every service in the process unresponsive until restart. The TCP transporter must be enabled and reachable, and neither CRC validation nor maxPacketSize prevents the malformed length value. This issue is fixed in versions 0.14.36 and 0.15.2.
Affected products (as reported)
| Vendor | Product | Versions |
|---|---|---|
| moleculerjs | moleculer | >= 0.15.0, < 0.15.2< 0.14.36 |
Weakness: CWE-835 · Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
References
- https://github.com/moleculerjs/moleculer/security/advisories/GHSA-h89v-g948-47vp x_refsource_CONFIRM
- https://github.com/moleculerjs/moleculer/commit/168ecbdc245c9a9d1dc4ef9b8a81dbae38ee3063 x_refsource_MISC
- https://github.com/moleculerjs/moleculer/commit/914074e502ae403a0338ad168b45b16d6bcc3e44 x_refsource_MISC
- https://github.com/moleculerjs/moleculer/releases/tag/v0.14.36 x_refsource_MISC
- https://github.com/moleculerjs/moleculer/releases/tag/v0.15.2 x_refsource_MISC