CVE-2026-34771Electron框架在特定版本之前存在释放后重用(UAF)漏洞。当应用注册异步session.setPermissionRequestHandler来处理全屏、指针锁定等权限请求时,若在处理期间请求帧发生导航或窗口关闭,调用存储的回调将引用已释放的内存。此情况可能导致应用崩溃或内存损坏,进而影响系统稳定性与安全性。
该漏洞的核心在于Electron对异步权限请求生命周期的管理不当。当开发者使用`session.setPermissionRequestHandler`注册异步回调以响应用户的全屏、指针锁定或键盘锁定请求时,系统会将回调函数暂存于队列中等待处理。如果在回调被执行前,触发请求的上下文(如iframe)发生页面跳转,或者包含该页面的窗口被关闭,相关的C++底层对象即被销毁和释放。然而,由于系统设计缺陷,尚未取消挂起的回调任务。随后,当事件循环尝试调用该已失效的回调时,由于底层对象已被释放,导致悬垂指针引用。攻击者可利用此竞态条件,通过精心构造的HTML页面诱导用户在特定时刻执行关闭或导航操作,从而触发内存破坏,在特定环境下可能进一步导致任意代码执行。