平台
nodejs
组件
electron
修复版本
38.8.7
39.0.1
40.0.1
41.0.1
38.8.6
CVE-2026-34773是一个Electron中的协议处理漏洞。在Windows系统中,app.setAsDefaultProtocolClient(protocol)函数在写入注册表之前没有对协议名称进行验证,这可能导致攻击者劫持现有的协议处理程序。该漏洞影响Electron ≤38.8.6版本。目前没有官方补丁可用,建议验证协议名称以缓解风险。
Electron 中的 CVE-2026-34773 影响在 Windows 上使用 app.setAsDefaultProtocolClient(protocol) 的应用程序。问题在于该函数在写入 Windows 注册表之前未正确验证协议名称。这使得攻击者,如果应用程序接受来自不受信任来源的协议名称,可以写入 HKCU\Software\Classes\ 下的任意子键。此写入操作可能允许劫持现有的协议处理程序,从而导致恶意代码执行或将用户重定向到不需要的网站,当尝试使用特定协议打开链接时。此漏洞仅在协议名称来自外部或不受信任的输入时才相关。
攻击者可以通过创建使用专门设计的协议名称的恶意链接来利用此漏洞。如果易受攻击的应用程序尝试将此协议注册为默认客户端,则攻击者可以在 Windows 注册表中写入,从而可能破坏系统配置。利用成功的关键在于攻击者欺骗应用程序使用未经验证的协议名称的能力。利用的复杂性可能因应用程序的架构和现有的安全措施而异。
漏洞利用状态
EPSS
0.03% (9% 百分位)
CISA SSVC
减轻 CVE-2026-34773 的方法是将 Electron 更新到 38.8.6 或更高版本。此版本包括在写入注册表之前对协议名称进行适当验证。如果无法立即更新,建议在将协议名称传递给 app.setAsDefaultProtocolClient() 之前彻底验证用户提供的协议名称。稳健的验证应包括允许的协议的白名单,并拒绝任何不匹配此列表的输入。此外,请检查应用程序代码中是否存在使用 app.setAsDefaultProtocolClient() 处理外部来源数据的任何情况,并应用必要的验证。
Actualice Electron a la versión 38.8.6, 39.8.1, 40.8.1 o 41.0.0 o superior. Asegúrese de que el nombre del protocolo utilizado en `app.setAsDefaultProtocolClient()` se derive de una fuente segura y no de entrada proporcionada por el usuario para evitar la inyección de claves de registro.
漏洞分析和关键警报直接发送到您的邮箱。
Electron 是一个用于使用 HTML、CSS 和 JavaScript 等 Web 技术构建跨平台桌面应用程序的框架。
检查您的应用程序使用的 Electron 版本。如果低于 38.8.6,则会受到影响。此外,请检查代码以识别使用 app.setAsDefaultProtocolClient() 处理外部数据的任何情况。
这是一个 Windows 注册表项,用于存储有关协议及其关联处理程序的信息。操作此键可能会影响系统行为。
根据所需的特定功能,可能存在替代方案。请仔细考虑任何替代方法的安全影响。
在将协议名称传递给 app.setAsDefaultProtocolClient() 之前,请实施对协议名称的彻底验证。使用允许的协议白名单。
CVSS 向量