{"id":"CVE-2024-38355","aliases":["GHSA-25hc-qcg6-38wj"],"url":"https://o3.security/vulnerability/CVE-2024-38355","summary":"Unhandled 'error' event in socket.io","details":"### Impact\n\nA specially crafted Socket.IO packet can trigger an uncaught exception on the Socket.IO server, thus killing the Node.js process.\n\n```\nnode:events:502\n    throw err; // Unhandled 'error' event\n    ^\n\nError [ERR_UNHANDLED_ERROR]: Unhandled error. (undefined)\n    at new NodeError (node:internal/errors:405:5)\n    at Socket.emit (node:events:500:17)\n    at /myapp/node_modules/socket.io/lib/socket.js:531:14\n    at process.processTicksAndRejections (node:internal/process/task_queues:77:11) {\n  code: 'ERR_UNHANDLED_ERROR',\n  context: undefined\n}\n```\n\n### Affected versions\n\n| Version range    | Needs minor update?                            |\n|------------------|------------------------------------------------|\n| `4.6.2...latest` | Nothing to do               |\n| `3.0.0...4.6.1`  | Please upgrade to `socket.io@4.6.2` (at least) |\n| `2.3.0...2.5.0`  | Please upgrade to `socket.io@2.5.1`            |\n\n### Patches\n\nThis issue is fixed by https://github.com/socketio/socket.io/commit/15af22fc22bc6030fcead322c106f07640336115, included in `socket.io@4.6.2` (released in May 2023).\n\nThe fix was backported in the 2.x branch today: https://github.com/socketio/socket.io/commit/d30630ba10562bf987f4d2b42440fc41a828119c\n\n### Workarounds\n\nAs a workaround for the affected versions of the `socket.io` package, you can attach a listener for the \"error\" event:\n\n```js\nio.on(\"connection\", (socket) => {\n  socket.on(\"error\", () => {\n    // ...\n  });\n});\n```\n\n### For more information\n\nIf you have any questions or comments about this advisory:\n\n- Open a discussion [here](https://github.com/socketio/socket.io/discussions)\n\nThanks a lot to [Paul Taylor](https://github.com/Y0ursTruly) for the responsible disclosure.\n\n### References\n\n- https://github.com/socketio/socket.io/commit/15af22fc22bc6030fcead322c106f07640336115\n- https://github.com/socketio/socket.io/commit/d30630ba10562bf987f4d2b42440fc41a828119c","published":"2024-06-19T19:48:50.193Z","modified":"2026-08-12T03:51:45.102158734Z","cvss":{"score":7.3,"severity":"HIGH","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:L"},"epss":null,"cisaKev":null,"exploitsKnown":0,"affectedPackages":[{"ecosystem":"npm","name":"socket.io","fixedVersion":"2.5.1"},{"ecosystem":"npm","name":"socket.io","fixedVersion":"4.6.2"}],"fix":{"url":"https://github.com/socketio/socket.io/commit/15af22fc22bc6030fcead322c106f07640336115","label":"socketio/socket.io@15af22f"},"references":[{"type":"WEB","url":"https://www.vicarius.io/vsociety/posts/unhandled-exception-in-socketio-cve-2024-38355"},{"type":"ADVISORY","url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2024/38xxx/CVE-2024-38355.json"},{"type":"ADVISORY","url":"https://github.com/socketio/socket.io/security/advisories/GHSA-25hc-qcg6-38wj"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2024-38355"},{"type":"FIX","url":"https://github.com/socketio/socket.io/commit/15af22fc22bc6030fcead322c106f07640336115"},{"type":"FIX","url":"https://github.com/socketio/socket.io/commit/d30630ba10562bf987f4d2b42440fc41a828119c"},{"type":"PACKAGE","url":"https://github.com/socketio/socket.io"}],"provenance":{"sources":["OSV.dev","FIRST.org (EPSS)"],"lastVerified":"2026-08-12T03:51:45.102158734Z"}}