CVE-2025-12120Lite XL 是一款轻量级、可扩展的文本编辑器。在 2.1.8 及之前版本中,存在一个严重的安全漏洞:当用户打开包含 .lite_project.lua 文件的项目目录时,该文件会被自动执行,而不会提示用户进行确认。.lite_project.lua 文件本意是用于项目级别的配置,但其中可以包含任意的 Lua 代码逻辑。攻击者可以通过构造包含恶意 .lite_project.lua 文件的项目目录,诱骗目标用户打开该目录,从而在用户的环境下执行任意代码。由于该编辑器常被开发人员用于编写代码和配置文件,攻击者可能借此窃取敏感信息(如 SSH 密钥、API 凭证、项目代码等),甚至进一步横向移动至其他系统。此漏洞的利用门槛较低,只需要用户打开一个恶意项目目录即可,无需复杂的交互操作。
Lite XL 在打开项目目录时会自动查找并执行 .lite_project.lua 文件。这个功能设计初衷是允许开发者为不同项目设置个性化的编辑器配置(如语法高亮、缩进规则等)。然而,由于缺乏安全验证机制,该文件中的 Lua 代码会在编辑器启动时直接通过 Lua 解释器执行。攻击者可以创建一个包含恶意 .lite_project.lua 的项目目录,其中可包含 os.execute()、io.popen() 等函数调用来执行系统命令。例如,使用 os.execute('malicious_command') 可以在受害者机器上执行任意 shell 命令。由于编辑器通常以较高权限运行(如用户的完整权限),攻击者可以借此实现权限提升或持久化控制。攻击者通常会通过钓鱼邮件、压缩包或共享目录等方式分发恶意项目。