CVE-2026-34766Electron是一个使用JavaScript、HTML和CSS编写跨平台桌面应用程序的框架。在38.8.6、39.8.0、40.7.0和41.0.0-beta.8版本之前,存在一个安全漏洞。该漏洞源于select-usb-device事件回调未验证所选设备ID是否与呈现给处理程序的过滤列表匹配。如果应用程序的处理程序受到影响而选择了过滤集之外的设备ID,则会授予对不匹配渲染器请求过滤器或在排除过滤器中列出的设备的访问权限。尽管WebUSB安全黑名单仍然有效,但此问题可能影响具有异常设备选择逻辑的应用程序。
该漏洞属于逻辑缺陷与输入验证不足。在Electron的WebUSB API实现中,`select-usb-device`事件允许主进程响应渲染进程的USB设备请求。正常流程下,渲染进程提供过滤器,主进程返回允许的设备ID。然而,受影响版本的回调函数并未严格校验返回的设备ID是否确实源自过滤后的列表。攻击者需具备本地低权限并能诱导用户交互(UI:R),通过操纵渲染进程或利用应用程序内部逻辑的缺陷,诱使事件处理程序返回一个未在白名单内或被显式排除的设备ID。由于缺少校验,Electron主进程会错误地信任这个ID,从而授予渲染进程对该特定USB设备的访问权限。尽管WebUSB的安全黑名单机制依然生效,防止了对敏感设备的直接访问,但在非黑名单设备上,这种绕过可能导致数据泄露或恶意控制。