Critical banking processes operate under pressure from two fundamental technical risks. The first is Remote Code Execution (RCE) hidden in BPMN process definitions—the possibility that malicious code is executed by the process engine simply because it appears in the model. The other is overload in External Task workers, which can halt processing during sudden traffic spikes or slowdowns in downstream systems.
With version 1.3.0, EximeeBPMS introduced two mechanisms designed specifically for high-availability environments: Script Guard and Backpressure. Together, they form a foundation for security and operational resilience in banking, supported by a modern Java stack.
What you should know:
BPMN engines execute scripts embedded in process models, which means a process definition can become a carrier of malicious code.
RCE (Remote Code Execution) is a situation in which malicious code is executed by the process engine—remotely, solely based on the BPMN model content.
Where RCE risks commonly appear:
In banking, this is particularly dangerous: the script executes automatically, in a production environment, often with access to transactional data or external systems. This is a classic RCE scenario.
Script Guard currently enforces 38 security rules that detect 26 distinct classes of RCE techniques (marked as SCRIPT_SECURITY_*). These include, among others::
The rules are enforced at two independent control points:
| Level of operation | What it does | Why it matters |
|---|---|---|
| BPMN parsing (parse time) | Analyzes the process model before deployment and blocks scripts that violate the security policy | Eliminates risk before the process reaches production, ensures compliance with the financial supervisory authority and DORA, provides full auditability |
| Execution (runtime) | Blocks the execution of scripts that entered the model earlier or were modified | Protects against RCE in production environments, ensures stability of critical processes, safeguards data |
The policy is enabled by default, configurable, and auditable, which is essential for regulatory compliance.
External Tasks are often used for integrations with external systems. This means their performance depends on:
In such situations, a worker may fetch more tasks than it is able to process, which leads to overload, process blocking, and operational incidents.
EximeeBPMS extends the Backpressure mechanism known from Camunda, adapting it to the requirements of high-availability environments so that a worker never fetches more tasks than it can actually process.
The mechanism operates in three areas:
| Java version | Status | Use case |
|---|---|---|
| Java 21 | Recommended runtime | Optimal performance and security |
| Java 25 | CI-verified as supported | For forward-looking migration planning and compatibility with future JDK releases |
Compatibility is tested on Eclipse Temurin JDK, which ensures predictability and stability of environments.
Script Guard and Backpressure align with key requirements of the financial sector:
Script Guard and Backpressure form two pillars of EximeeBPMS security and resilience: the former blocks RCE in BPMN process definitions, and the latter stabilizes External Tasks under load. Combined with the supported, modern Java 21 and Java 25 stack, they create a foundation that meets banking requirements for security, continuity of operations, and regulatory compliance.
Does Script Guard work both during deployment and execution of a process?
Yes, the security policy is enforced at two levels: during BPMN parsing and at runtime. This ensures that both malicious scripts in the process definition and attempts to execute them are blocked.
Does Script Guard require changes to BPMN models?
No, the mechanism does not modify BPMN models. It protects script execution only and does not interfere with process semantics.
Does Backpressure require changes on the External Task worker side?
No, the mechanism operates on the engine side. The worker does not need to implement any additional functionality.
Does Backpressure prevent overload when the downstream system is slow?
Yes, it limits the fetch size proportionally to worker load, ensuring workers are not “flooded” with tasks when the downstream system slows down.
Which Java versions does EximeeBPMS support?
Starting from version 1.4.0, EximeeBPMS supports Java 21 and Java 25, ensuring optimal performance, security, and stability for Script Guard and Backpressure.
Do Script Guard and Backpressure support DORA compliance?
Yes, Script Guard strengthens execution security, and Backpressure enhances operational resilience. Both mechanisms align with DORA requirements related to stability and ICT risk controls.
Powered by Consdata
hello@eximeebpms.org
+48 614 151 000
Consdata S.A.
Krysiewicza 9/14
61-825 Poznań
Poland