CVE-2026-97705
Moleculer is a progressive microservices framework for Node.js
- Risk score
- 60/100
- CVSS
- 7.5 v3.1
- Published
- 4 Nov 2026
Open in the live forecast Today's forecast
What to know
- What it is
- 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 un…
- Affected
- See advisory
- Fix
- Upgrade the product to 0.14.36 or 0.15.2 (whichever matches your release line), or later.
- Exploitation
- No known exploitation
Why it is Amber
- CVSS 7.5 high
- Remotely exploitable without logging in
- On your watchlist: node.js
References
- https://github.com/moleculerjs/moleculer/commit/168ecbdc245c9a9d1dc4ef9b8a81dbae38ee3063
- https://github.com/moleculerjs/moleculer/commit/914074e502ae403a0338ad168b45b16d6bcc3e44
- https://github.com/moleculerjs/moleculer/releases/tag/v0.14.36
- https://github.com/moleculerjs/moleculer/releases/tag/v0.15.2
- https://github.com/moleculerjs/moleculer/security/advisories/GHSA-h89v-g948-47vp
Original 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.
Last activity 4 Nov 2026. Patch Forecast updates every hour.