socketio/socket.io · Security
Insecure randomness in socket.io
- GHSA ID
- GHSA-qv2v-m59f-v5fw
- CVE ID
- CVE-2017-16031
- Severity
- high
- Published
- Updated
- CVSS
- 7.5 · CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N
- CVSS v3
- 7.5 · CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N
Description
Affected versions of socket.io depend on Math.random() to create socket IDs, and therefore the IDs are predictable. With enough information on prior IDs, an attacker may be able to guess the socket ID and gain access to socket.io servers without authorization.
Recommendation
Update to v0.9.7 or later.
CWEs
- CWE-330 · Use of Insufficiently Random Values
References
- https://nvd.nist.gov/vuln/detail/CVE-2017-16031 ↗
- https://github.com/socketio/socket.io/issues/856 ↗
- https://github.com/socketio/socket.io/pull/857 ↗
- https://github.com/socketio/socket.io/commit/67b4eb9abdf111dfa9be4176d1709374a2b4ded8 ↗
- https://github.com/advisories/GHSA-qv2v-m59f-v5fw ↗
- https://www.npmjs.com/advisories/321 ↗