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.
Advisories
Source ID Title
EUVD EUVD EUVD-2019-0201 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.
Github GHSA Github GHSA GHSA-2mhh-w6q8-5hxw Remote Memory Disclosure in ws
Fixes

Solution

No solution given by the vendor.


Workaround

No workaround given by the vendor.

History

No history.

cve-icon MITRE

Status: PUBLISHED

Assigner: hackerone

Published:

Updated: 2024-09-17T02:57:19.095Z

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

Link: CVE-2016-10518

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Modified

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

Modified: 2024-11-21T02:44:11.307

Link: CVE-2016-10518

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

No data.