Bug 1226973

Summary: VUL-0: CVE-2024-38355: nodejs-electron: socket.io: unhandled 'error' event
Product: [openSUSE] openSUSE Tumbleweed Reporter: Camila Camargo de Matos <camila.matos>
Component: SecurityAssignee: Bruno Pitrus <brunopitrus>
Status: RESOLVED INVALID QA Contact: Security Team bot <security-team>
Severity: Major    
Priority: P3 - Medium CC: amajer, camila.matos, dheidler, security-team, smash_bz
Version: Current   
Target Milestone: Current   
Hardware: All   
OS: openSUSE Tumbleweed   
URL: https://smash.suse.de/issue/411493/
Whiteboard:
Found By: Security Response Team Services Priority:
Business Priority: Blocker: ---
Marketing QA Status: --- IT Deployment: ---
Bug Depends on:    
Bug Blocks: 1226965    

Description Camila Camargo de Matos 2024-06-25 17:49:05 UTC
+++ This bug was initially created as a clone of Bug #1226965 +++

Socket.IO is an open source, real-time, bidirectional, event-based, communication framework. A specially crafted Socket.IO packet can trigger an uncaught exception on the Socket.IO server, thus killing the Node.js process. This issue is fixed by commit `15af22fc22` which has been included in `socket.io@4.6.2` (released in May 2023). The fix was backported in the 2.x branch as well with commit `d30630ba10`. Users are advised to upgrade. Users unable to upgrade may attach a listener for the "error" event to catch these errors.

References:
http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2024-38355
https://www.cve.org/CVERecord?id=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/security/advisories/GHSA-25hc-qcg6-38wj
https://bugzilla.redhat.com/show_bug.cgi?id=2293192
Comment 2 Bruno Pitrus 2024-06-25 19:47:07 UTC
The only copy of the offending library in the tarball is at src/third_party/devtools-frontend/src/node_modules/socket.io

A check of package-lock.json suggests that it's only included as a dependency of `karma` which is a testing framework and therefore assumed not to be shipped.