CVE-2026-34778Electron是一个使用JavaScript、HTML和CSS编写跨平台桌面应用程序的框架。在38.8.6、39.8.1、40.8.1和41.0.0版本之前,运行在session中的service worker能够欺骗webContents.executeJavaScript()及相关方法使用的内部IPC通道上的回复消息。这导致主进程的promise解析为攻击者控制的数据。只有注册了service worker且在安全敏感决策中使用webContents.executeJavaScript()(或webFrameMain.executeJavaScript())结果的应用程序才会受到影响。
该漏洞的核心在于Electron的渲染进程与主进程之间的IPC通信机制。当主进程调用webContents.executeJavaScript()在渲染进程中执行代码时,它期望通过特定的内部IPC通道接收执行结果。然而,恶意的Service Worker可以利用其在渲染进程中的特权或特定能力,监听并抢占该IPC通道的响应。通过发送伪造的响应消息,Service Worker可以欺骗主进程,使其相信JavaScript代码返回了特定的值。由于应用程序可能依赖该返回值进行权限验证或安全决策,这种欺骗行为可能导致攻击者绕过安全检查,破坏应用程序的完整性。