Insufficient validation when decoding a Socket.IO packet
Impact
A specially crafted Socket.IO packet can trigger an uncaught exception on the Socket.IO server, thus killing the Node.js process.
TypeError: Cannot convert object to primitive value
at Socket.emit (node:events:507:25)
at .../node_modules/socket.io/lib/socket.js:531:14
Patches
A fix has been released today (2023/05/22):
- https://github.com/socketio/socket.io-parser/commit/3b78117bf6ba7e99d7a5cfc1ba54d0477554a7f3, included in
socket.io-parser@4.2.3 - https://github.com/socketio/socket.io-parser/commit/2dc3c92622dad113b8676be06f23b1ed46b02ced, included in
socket.io-parser@3.4.3
Another fix has been released for the 3.3.x branch:
- https://github.com/socketio/socket.io-parser/commit/ee006607495eca4ec7262ad080dd3a91439a5ba4, included in `socket.io-parser@3.3.4
socket.io version |
socket.io-parser version |
Needs minor update? |
|---|---|---|
4.5.2...latest |
~4.2.0 (ref) |
npm audit fix should be sufficient |
4.1.3...4.5.1 |
~4.1.1 (ref) |
Please upgrade to socket.io@4.6.x |
3.0.5...4.1.2 |
~4.0.3 (ref) |
Please upgrade to socket.io@4.6.x |
3.0.0...3.0.4 |
~4.0.1 (ref) |
Please upgrade to socket.io@4.6.x |
2.3.0...2.5.0 |
~3.4.0 (ref) |
npm audit fix should be sufficient |
Workarounds
There is no known workaround except upgrading to a safe version.
For more information
If you have any questions or comments about this advisory:
- Open a discussion here
Thanks to @rafax00 for the responsible disclosure.
Czego dotyczy
Kliknij technologię, aby zobaczyć wszystkie dotyczące jej podatności.
| Platforma | Paczka | Podatne wersje | Poprawka w wersji |
|---|---|---|---|
| Paczka npm | socket.io-parser | >= 4.0.4, < 4.2.3, >= 3.4.0, < 3.4.3, < 3.3.4 | 4.2.3, 3.4.3, 3.3.4 |
Odnośniki
- https://github.com/socketio/socket.io-parser/security/advisories/GHSA-cqmj-92xf-r6r9
- https://nvd.nist.gov/vuln/detail/CVE-2023-32695
- https://github.com/socketio/socket.io-parser/commit/1c220ddbf45ea4b44bc8dbf6f9ae245f672ba1b9
- https://github.com/socketio/socket.io-parser/commit/2dc3c92622dad113b8676be06f23b1ed46b02ced
- https://github.com/socketio/socket.io-parser/commit/3b78117bf6ba7e99d7a5cfc1ba54d0477554a7f3
- https://github.com/socketio/socket.io-parser/commit/ee006607495eca4ec7262ad080dd3a91439a5ba4
- https://github.com/socketio/socket.io-parser
- https://github.com/socketio/socket.io-parser/releases/tag/4.2.3
- Wektor CVSS
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:L- Słabość (CWE)
CWE-20, CWE-754- Platforma
- npm
- Paczka
socket.io-parser- Ujawniono
- 23.05.2023
- Aktualizacja
- 11.10.2026 10:22
Źródła i licencje
OSV / GitHub Advisory Database - GHSA-cqmj-92xf-r6r9 - CC BY 4.0
Historia podatności: socket.io-parser
Wszystkie opisane podatności tej paczki (Paczka npm), od najnowszej. Widać, czy to jednorazowa wpadka, czy paczka, której trzeba pilnować.
- Wszystkich wpisów
- 5
- Pierwsza → ostatnia
- 06.2021 08.2026
- Bez poprawki
- 0
- Wykorzystywana w atakach
- 0
Rozkład istotności
- Krytyczna 1
- Wysoka 3
- Średnia 1
Ujawnienia w latach
- 2021: 1
- 2022: 1
- 2023: 1
- 2024: 0
- 2025: 0
- 2026: 2
-
Insufficient validation when decoding a Socket.IO packet ten wpis
Dowiedz się, które podatności dotyczą Twojej aplikacji
Po podłączeniu integracji DockRay i włączeniu raportowania oprogramowania DockRay porównuje zgłoszone wersje komponentów ze znanymi podatnościami i powiadamia o potwierdzonych dopasowaniach. Zakres zależy od obsługiwanej technologii i dostępnych biuletynów.