Packages / @nestjs/microservices / Security
Nest Affected by DoS via Recursive handleData in JsonSocket (TCP Transport)
Affected releases · @nestjs/microservices
- 11.x11.0.0 – 11.1.18Fixed in 11.1.19
- 10.x10.0.0 – 10.4.22No fix on this line yet
- 9.x and older2.0.0 – 9.4.3No fix, no longer updated
On 11.x, the newest line:
npm install @nestjs/microservices@11.1.19Not affected
12.0.0 – 12.2.0
10 releases, latest
Affected
11.0.0 – 11.1.18
41 releases
Fixed
11.1.19 – 11.2.7
19 releases
Affected
10.0.0 – 10.4.22
55 releases
Affected
9.0.0 – 9.4.3
37 releases
Affected
8.0.0 – 8.4.7
32 releases
Affected
7.0.0 – 7.6.18
51 releases
Affected
6.0.0 – 6.11.11
67 releases
Affected
5.0.0 – 5.7.4
30 releases
Affected
4.0.0 – 4.6.6
37 releases
Affected
3.0.0 – 3.1.0
4 releases
Affected
2.0.0 – 2.1.0
9 releases
Is your project affected?
Paste your package.json, or type the range you declare for @nestjs/microservices. It is read in your browser and sent nowhere.
What happens
Impact
Attacker sends many small, valid JSON messages in one TCP frame → handleData() recurses once per message; buffer shrinks each call → maxBufferSize is never reached; call stack overflows instead → A ~47 KB payload is sufficient to trigger RangeError
Patches
Fixed in @nestjs/microservices@11.1.19
References
Discovered by github.com/hwpark6804-gif