
Cloud Vulnerability DB
A community-led vulnerabilities database
CVE-2025-14674 is a code injection vulnerability in the QLExpressEngine.doEval function of aizuda snail-job, a distributed task retry and scheduling framework. It affects all versions of snail-job up to and including 1.6.0 (Maven package com.aizuda:snail-job). The vulnerability was disclosed on December 14, 2025, and is assigned a CVSS v3.1 base score of 6.3 (Medium) and a CVSS v4.0 base score of 5.3 (Medium) by VulDB (GitHub Advisory, VulDB).
The root cause is improper neutralization of special elements in the QLExpressEngine.doEval function located in snail-job-common/snail-job-common-core/src/main/java/com/aizuda/snailjob/common/core/expression/strategy/QLExpressEngine.java, classified as CWE-74 (Injection) and CWE-707 (Improper Neutralization) (GitHub Advisory). The function evaluates QLExpress expressions (a Java-based scripting engine) without adequately sanitizing attacker-controlled input, allowing malicious expressions to be injected and executed server-side. Exploitation requires low-privilege authenticated access and can be performed remotely over the network with no user interaction required. The fix is identified in commit 978f316c38b3d68bb74d2489b5e5f721f6675e86 on the project's Gitee repository (Gitee Commit).
Successful exploitation allows a low-privileged remote attacker to inject and execute arbitrary code within the application context of the snail-job server, resulting in limited but meaningful impacts to confidentiality, integrity, and availability. An attacker could access or modify sensitive job scheduling data, tamper with retry logic or task configurations, and partially disrupt service availability. The scope is limited to the vulnerable system itself, with no direct subsequent system impact indicated by the CVSS scoring (GitHub Advisory, VulDB).
com.aizuda:snail-job.QLExpressEngine.doEval function, typically associated with job retry condition configuration or expression-based task logic.doEval (e.g., invoking Runtime.getRuntime().exec(...) or similar Java reflection techniques).QLExpressEngine.doEval in snail-job application logs.cmd.exe, /bin/sh, curl, wget) that are not part of normal job execution.The vendor has released version 1.7.0-beta1 of snail-job, which addresses this vulnerability via patch commit 978f316c38b3d68bb74d2489b5e5f721f6675e86 (Gitee Release). All users running snail-job versions up to 1.6.0 should upgrade to 1.7.0-beta1 or later as the primary remediation. As interim mitigations, restrict access to the snail-job application to trusted users only, implement strict input validation and allowlisting for expression inputs, and audit usage of the QLExpressEngine.doEval function for any suspicious expressions (GitHub Advisory).
Source: This report was generated using AI
Free Vulnerability Assessment
Evaluate your cloud security practices across 9 security domains to benchmark your risk level and identify gaps in your defenses.
Get a personalized demo
"Best User Experience I have ever seen, provides full visibility to cloud workloads."
"Wiz provides a single pane of glass to see what is going on in our cloud environments."
"We know that if Wiz identifies something as critical, it actually is."