Skip to main content
CVE Vulnerability Database
Vulnerability Database/CVE-2026-75414

CVE-2026-75414: AntFlow V2.0.0 RCE Vulnerability

CVE-2026-75414 is a command execution flaw in AntFlow V2.0.0 caused by unfiltered JUEL expression processing in ActivitiTest.java. This article covers the technical details, affected versions, and mitigation strategies.

Published:

CVE-2026-75414 Overview

CVE-2026-75414 affects AntFlow V2.0.0, an open-source workflow engine. The vulnerability resides in ActivitiTest.java, which allows users to submit Java Unified Expression Language (JUEL) expressions without input filtering. An attacker can supply a crafted JUEL expression that the application evaluates, resulting in command execution on the host. Because the endpoint accepts user-controlled expression input directly, exploitation does not require complex chaining or memory corruption primitives.

Critical Impact

Unfiltered JUEL expression evaluation in AntFlow V2.0.0 enables arbitrary command execution against the application host.

Affected Products

  • AntFlow V2.0.0
  • Deployments exposing the ActivitiTest interface
  • Downstream workflows relying on Activiti JUEL evaluation in AntFlow

Discovery Timeline

  • 2026-08-26 - CVE-2026-75414 published to the National Vulnerability Database (NVD)
  • 2026-08-26 - Last updated in NVD database

Technical Details for CVE-2026-75414

Vulnerability Analysis

AntFlow builds workflow orchestration on top of Activiti, which uses JUEL for evaluating expressions inside process definitions. In V2.0.0, the ActivitiTest.java component exposes an expression evaluation path to users. The application passes user-supplied strings into the JUEL evaluator without sanitization, escaping, or allowlisting. JUEL supports method invocation on arbitrary objects reachable in the evaluation context, including classes that spawn operating system processes. This turns a testing utility into a code execution primitive available to anyone reaching the endpoint.

Root Cause

The root cause is missing input validation on expression content submitted to ActivitiTest.java. The handler treats user input as trusted expression source and hands it to the JUEL runtime. There is no allowlist of permitted functions or namespaces, and no sandbox around the evaluation context. This maps to Command Injection through expression language evaluation, a common pattern when EL engines are exposed to untrusted callers.

Attack Vector

An attacker sends a request to the vulnerable endpoint containing a JUEL expression that references a runtime class capable of executing shell commands. The server evaluates the expression and executes the requested process under the privileges of the AntFlow application. The proof-of-concept published in the referenced repository demonstrates a front-desk (pre-authentication surface) command execution path. See the GitHub PoC Repository for the reproduction steps and payload structure.

Because no code from a verified vendor patch is available, refer to the linked technical writeup for exact payload construction. The vulnerability mechanism follows standard EL injection: the attacker crafts an expression that resolves to a process execution API through the reachable object graph.

Detection Methods for CVE-2026-75414

Indicators of Compromise

  • Inbound HTTP requests to AntFlow endpoints containing JUEL syntax such as ${ and } combined with class references or method calls.
  • Child processes spawned by the AntFlow Java process (for example sh, bash, cmd.exe, powershell.exe) with no legitimate workflow trigger.
  • Outbound network connections from the AntFlow host to unexpected destinations shortly after ActivitiTest endpoint activity.
  • Unexpected file writes under the AntFlow working directory or /tmp originating from the Java process.

Detection Strategies

  • Inspect web access logs for requests targeting ActivitiTest routes and body content containing EL delimiters or references to Runtime, ProcessBuilder, or java.lang.
  • Correlate Java application process telemetry with subsequent process creation events to identify expression-driven execution.
  • Alert on any process lineage where the AntFlow JVM is the parent of a shell interpreter.

Monitoring Recommendations

  • Enable verbose request logging on the AntFlow application layer, including POST bodies where policy allows.
  • Forward host process creation events and JVM audit logs to a centralized analytics platform for retrospective hunting.
  • Baseline normal outbound connections from the AntFlow host so that new destinations trigger review.

How to Mitigate CVE-2026-75414

Immediate Actions Required

  • Restrict network access to AntFlow V2.0.0 instances so that only trusted internal users can reach the application.
  • Disable or remove the ActivitiTest endpoint in production deployments until a patched build is available.
  • Run the AntFlow JVM under a least-privilege service account with no shell access and constrained filesystem permissions.
  • Hunt historical logs for prior exploitation attempts using the indicators listed above.

Patch Information

No vendor advisory or fixed version is listed in the NVD entry for CVE-2026-75414 at the time of publication. Operators should track the AntFlow project repository for a release that adds input filtering or removes the exposed evaluation path. Refer to the GitHub PoC Repository for current technical details.

Workarounds

  • Place a reverse proxy or web application firewall in front of AntFlow and block request bodies containing JUEL delimiters or Java class references.
  • Apply network segmentation so the AntFlow host cannot initiate outbound connections to arbitrary internet destinations.
  • Remove or rename ActivitiTest.java handlers from deployed artifacts if the workflow engine functions without them.
  • Enforce authentication on all AntFlow endpoints and reject anonymous access to expression evaluation routes.
bash
# Configuration example: block JUEL expression payloads at the proxy layer
# nginx snippet - reject requests containing EL delimiters against ActivitiTest
location ~* /ActivitiTest {
    if ($request_body ~* "\$\{.*\}") {
        return 403;
    }
    proxy_pass http://antflow_backend;
}

Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.

Default Legacy - Prefooter | Experience the World’s Most Advanced Cybersecurity Platform

Experience the Most Advanced Cybersecurity Platform

See how the world’s most intelligent, autonomous cybersecurity platform can protect your organization today and into the future.