First published: Thu May 31 2018(Updated: )
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.
Credit: support@hackerone.com
Affected Software | Affected Version | How to fix |
---|---|---|
npm/ws | <1.0.1 | 1.0.1 |
Ws Project Ws | <1.0.1 |
Sign up to SecAlerts for real-time vulnerability data matched to your software, aggregated from hundreds of sources.
CVE-2016-10518 is a remote memory disclosure vulnerability in the ping functionality of the ws module before version 1.0.1.
Applications using the ws module versions prior to 1.0.1 are affected by CVE-2016-10518, which can result in the disclosure of memory contents.
Certain rare circumstances allow users to control the arguments of a client.ping() call, triggering the vulnerability in the ws module before version 1.0.1.
CVE-2016-10518 has a severity rating of 7.5 (high).
To fix the CVE-2016-10518 vulnerability, update the ws module to version 1.0.1 or newer.