A vulnerability was found in the ping functionality of the ws module before 1.0.0 which allowed clients to allocate memory by sending a ping frame. The ping functionality by default responds with a pong frame and the previously given payload of the ping frame. This is exactly what you expect, but internally ws always transforms all data that we need to send to a Buffer instance and that is where the vulnerability existed. ws didn't do any checks for the type of data it was sending. With buffers in node when you allocate it when a number instead of a string it will allocate the amount of bytes.
References
Link Resource
https://gist.github.com/c0nrad/e92005446c480707a74a Patch Third Party Advisory
https://github.com/websockets/ws/releases/tag/1.0.1 Release Notes Third Party Advisory
https://nodesecurity.io/advisories/67 Third Party Advisory
History

No history.

cve-icon MITRE Information

Status: PUBLISHED

Assigner: hackerone

Published: 2018-04-26T00:00:00

Updated: 2018-05-31T19:57:01

Reserved: 2017-10-29T00:00:00


Link: CVE-2016-10518

JSON object: View

cve-icon NVD Information

Status : Modified

Published: 2018-05-31T20:29:00.503

Modified: 2019-10-09T23:16:41.807


Link: CVE-2016-10518

JSON object: View

cve-icon Redhat Information

No data.