CVE-2025-14674aizuda snail-job是一款开源的分布式任务调度框架,在1.6.0及之前版本中存在一处代码注入漏洞。该漏洞位于snail-job-common-core模块的QLExpressEngine.doEval方法中,攻击者可通过构造恶意输入利用QLExpress引擎的表达式执行功能执行任意代码。由于该漏洞可通过远程方式利用,且只需要低权限认证即可发起攻击,因此存在较大的安全风险。snail-job框架广泛应用于企业级定时任务调度、异步任务处理等场景,漏洞一旦被利用可能导致敏感数据泄露、服务器被完全控制等严重后果。建议受影响用户尽快升级到1.7.0-beta1或更高版本以修复该漏洞。
该漏洞根源在于QLExpressEngine.doEval方法对用户输入的表达式缺乏充分的过滤和验证。QLExpress是一款国产的动态脚本引擎,支持执行动态表达式。攻击者可以利用该引擎的动态代码执行能力,构造包含恶意代码的表达式字符串,绕过应用层的安全限制。在snail-job框架中,如果任务配置或参数传递过程中涉及到表达式解析,且未对输入进行严格过滤,攻击者即可通过API接口或任务配置注入恶意QLExpress表达式。成功利用此漏洞可实现远程代码执行(RCE),在服务器上执行任意系统命令。漏洞的利用前提是攻击者需要拥有框架的低权限账号或能访问表达式解析接口。修复方案在commit 978f316c38b3d68bb74d2489b5e5f721f6675e86中对输入验证逻辑进行了加固,增加了表达式执行前的安全检查和白名单过滤机制。