socket.io has an unhandled 'error' event
Impact
A specially crafted Socket.IO packet can trigger an uncaught exception on the Socket.IO server, thus killing the Node.js process.
node:events:502
throw err; // Unhandled 'error' event
^
Error [ERR_UNHANDLED_ERROR]: Unhandled error. (undefined)
at new NodeError (node:internal/errors:405:5)
at Socket.emit (node:events:500:17)
at /myapp/node_modules/socket.io/lib/socket.js:531:14
at process.processTicksAndRejections (node:internal/process/task_queues:77:11) {
code: 'ERR_UNHANDLED_ERROR',
context: undefined
}
Affected versions
| Version range | Needs minor update? |
|---|---|
4.6.2...latest |
Nothing to do |
3.0.0...4.6.1 |
Please upgrade to socket.io@4.6.2 (at least) |
2.3.0...2.5.0 |
Please upgrade to socket.io@2.5.1 |
Patches
This issue is fixed by https://github.com/socketio/socket.io/commit/15af22fc22bc6030fcead322c106f07640336115, included in socket.io@4.6.2 (released in May 2023).
The fix was backported in the 2.x branch today: https://github.com/socketio/socket.io/commit/d30630ba10562bf987f4d2b42440fc41a828119c
Workarounds
As a workaround for the affected versions of the socket.io package, you can attach a listener for the "error" event:
io.on("connection", (socket) => {
socket.on("error", () => {
// ...
});
});
For more information
If you have any questions or comments about this advisory:
- Open a discussion here
Thanks a lot to Paul Taylor for the responsible disclosure.
References
Software afectado
Haz clic en una tecnología para ver todas sus vulnerabilidades.
| Plataforma | Paquete | Versiones vulnerables | Corregida en |
|---|---|---|---|
| Paquete de npm | socket.io | < 2.5.1, >= 3.0.0, < 4.6.2 | 2.5.1, 4.6.2 |
Referencias
- https://github.com/socketio/socket.io/security/advisories/GHSA-25hc-qcg6-38wj
- https://nvd.nist.gov/vuln/detail/CVE-2024-38355
- https://github.com/socketio/socket.io/commit/15af22fc22bc6030fcead322c106f07640336115
- https://github.com/socketio/socket.io/commit/d30630ba10562bf987f4d2b42440fc41a828119c
- https://github.com/socketio/socket.io
- Vector CVSS
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:L- Debilidad (CWE)
CWE-20, CWE-754- Plataforma
- npm
- Paquete
socket.io- Publicada
- 19.06.2024
- Actualizado
- 11.10.2026 10:22
Fuentes y licencias
OSV / GitHub Advisory Database - GHSA-25hc-qcg6-38wj - CC BY 4.0
Historial de vulnerabilidades: socket.io
Todas las vulnerabilidades publicadas de este paquete (Paquete de npm), de la más reciente a la más antigua. Muestra si es un fallo aislado o un paquete que hay que vigilar.
- Entradas en total
- 3
- Primera → última
- 11.2018 06.2024
- Sin corrección
- 0
- Explotada en ataques
- 0
Distribución por gravedad
- Alta 1
- Media 2
Divulgaciones por año
- 2018: 1
- 2019: 0
- 2020: 0
- 2021: 1
- 2022: 0
- 2023: 0
- 2024: 1
- 2025: 0
- 2026: 0
-
socket.io has an unhandled 'error' event esta entrada
Identifica las vulnerabilidades de tu aplicación
Con la integración de DockRay y el inventario de software activado, DockRay compara las versiones notificadas de los componentes con las vulnerabilidades conocidas y avisa de las coincidencias confirmadas. La cobertura depende de la tecnología compatible y de los avisos disponibles.