CVE-2017-16031 Insecure randomness in socket.io
Predictable socket IDs allow attackers to hijack connections and access sensitive data on Socket.io servers.
- Exploited in the wild
- Not known
- Login needed
- Not needed
- Attackable
- Over the internet
- Victim action needed
- Not needed
- Fix
- Available
What is CVE-2017-16031?
CVE-2017-16031 is a high-severity vulnerability in HackerOne socket.io node module, published on 4 Jun 2018. An attacker can exploit it over the internet without logging in, with no action from the victim.
Official description
Socket.io is a realtime application framework that provides communication via websockets. Because socket.io 0.9.6 and earlier depends on `Math.random()` to create socket IDs, the IDs are predictable. An attacker is able to guess the socket ID and gain access to socket.io servers, potentially obtaining sensitive information.
Weakness: CWE-330
Which versions are affected by CVE-2017-16031?
2 open source packages ship an affected version, including socket.io. It affects 1 product.
| Package | Affected | Fixed in |
|---|---|---|
socket.io npm | All versions | 0.9.7 |
socket.io npm | All versions | 0.9.7 |
Products include Socket Socket.io.
How do I fix CVE-2017-16031?
Upgrade socket.io to 0.9.7 or later.
Is CVE-2017-16031 being exploited?
There is no known exploitation of CVE-2017-16031 in the wild and no public exploit code.
Other vulnerabilities in HackerOne socket.io node module
Sources
Also known as GHSA-qv2v-m59f-v5fw.