CVE-2025-58059 is a critical-severity (CVSS 9.1) OS Command Injection vulnerability in com.ritense.valtimo:core. A fix is available for com.ritense.valtimo:core — see the affected versions and patch details below.
Valtimo scripting engine can be used to gain access to sensitive data or resources
Exploitation Status
No confirmed exploitation observed yet
- A successful exploit gives an attacker total control of the affected component, not partial access.
- CISA’s own triage has not observed active exploitation or public proof-of-concept code for this CVE as of its last assessment.
Exploitation and automatability from CISA’s SSVC triage for CVE-2025-58059.
EPSS Exploitation Probability
Probability of exploitation in the next 30 days, from FIRST.org EPSS.
How urgent is this, really
Where this sits among everything scored
Real-World Exposure
com.ritense.valtimo:core☕com.ritense.valtimo:coreReal-time download stats are indexed for npm and PyPI packages. This vulnerability affects Maven packages — download data is not available via public APIs for these ecosystems.
Description
Impact
Any admin that can create or modify and execute process-definitions could gain access to sensitive data or resources.
This includes but is not limited to:
- Running executables on the application host
- Inspecting and extracting data from the host environment or application properties
- Spring beans (application context, database pooling)
Attack requirements
The following conditions have to be met in order to perform this attack:
- The user must be logged in
- The user must have the admin role (ROLE_ADMIN), which is required to change process definitions
- The user must have some knowledge about running scripts via a the Camunda/Operator engine
Patches
Version 12.16.0 and 13.1.2 have been patched. It is strongly advised to upgrade.
Workarounds
If no scripting is needed in any of the processes, it could be possible to disable it altogether via the ProcessEngineConfiguration:
@Component
class NoScriptEnginePlugin : ProcessEnginePlugin {
override fun preInit(processEngineConfiguration: ProcessEngineConfigurationImpl) {}
override fun postInit(processEngineConfiguration: ProcessEngineConfigurationImpl) {
processEngineConfiguration.scriptEngineResolver = null
}
override fun postProcessEngineBuild(processEngine: ProcessEngine) {}
}
Warning: this workaround could lead to unexpected side-effects. Please test thoroughly.
References
- Valtimo 12 and lower: Camunda Scripting
- Valtimo 13 and higher: Operaton Scripting
Affected Packages
| Ecosystem | Package | Vulnerable range | Fix |
|---|---|---|---|
| ☕Maven | com.ritense.valtimo:core | all versions | 12.16.0.RELEASEcom.ritense.valtimo:core:12.16.0.RELEASE |
| ☕Maven | com.ritense.valtimo:core | ≥ 13.0.0.RELEASE&&< 13.1.2.RELEASE | 13.1.2.RELEASEcom.ritense.valtimo:core:13.1.2.RELEASE |
Detection & mitigation playbook
Open-source dependencyDetect
Scan your dependency tree (package-lock.json, pnpm-lock.yaml, requirements.txt, go.sum, etc.) for com.ritense.valtimo:core, including transitive dependencies — a direct dependency you never call can still pull in a vulnerable version.
Fix
Update com.ritense.valtimo:core to 12.16.0.RELEASE or later, then make sure no transitive (indirect) dependency still pins the vulnerable range — O3 confirms CVE-2025-58059 is resolved across your whole dependency graph.
Workarounds
Stop passing untrusted input into the interpreter or shell: call the affected binary with an argument array rather than a composed command string, reject anything outside a strict allowlist of expected values, and run the component under an account that cannot reach beyond the work it legitimately does.
Frequently Asked Questions
Is CVE-2025-58059 in your dependencies?
Find it across Maven, including transitive dependencies.