# 漏洞概述 **漏洞标题**: Path traversal in electerm runWidget leads to arbitrary code execution **CVE ID**: CVE-2026-43940 **CVSS v3 评分**: 9.4 / 10 **严重性**: High **报告者**: zxdong262 **发布时间**: 3 days ago **描述**: `runWidget` 函数在 `src/app/widgets/load-widget.js` 中通过直接拼接用户提供的 widget 标识符来构建文件路径,且未进行任何 sanitization。由于 `runWidget` 暴露给渲染进程(通过异步 IPC 处理程序),攻击者可通过恶意插件或跨站脚本流在内置 webview 中触发 JavaScript 执行,从而利用路径遍历(`../`)加载并执行任意 JavaScript 文件,导致本地代码执行和系统完全被控。 --- # 影响范围 - **受影响版本**: `=3.7.16` - **攻击向量**: Local - **攻击复杂度**: Low - **权限要求**: None - **用户交互**: None - **影响范围**: - 机密性: High - 完整性: High - 可用性: High --- # 修复方案 ## 补丁 已在版本 `>=3.7.16` 中修复。 ## 临时缓解措施(Workarounds) 在补丁发布前,建议采取以下措施: - 不要安装或运行未经验证的插件。 - 避免在 electerm 的嵌入式 webview 中加载任意网页内容(例如,禁用任何获取和渲染 HTML 的功能)。 - 在沙箱环境中运行 electerm(如 Linux 上的 Subsystem/Selinux 配置文件、Windows 沙盒应用执行),以限制代码执行的影响。 --- # POC 代码 ```javascript const file = widget.$widget[0].js; const widget = require(path.join(dirname, file)); ``` --- # 参考链接 - [electerm GitHub Repository](https://github.com/electerm/electerm) - [electerm Security Policy](https://github.com/electerm/electerm/security/policy) - 漏洞详情最初由外部研究人员报告(PoC 确认于 v3.7.9, Win10)。