Miggo Logo

CVE-2025-58059: Valtimo scripting engine can be used to gain access to sensitive data or resources

9.1

CVSS Score
3.1

Basic Information

EPSS Score
-
Published
8/28/2025
Updated
8/28/2025
KEV Status
No
Technology
TechnologyJava

Technical Details

CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:C/C:H/I:H/A:H
Package NameEcosystemVulnerable VersionsFirst Patched Version
com.ritense.valtimo:coremaven< 12.16.0.RELEASE12.16.0.RELEASE
com.ritense.valtimo:coremaven>= 13.0.0.RELEASE, < 13.1.2.RELEASE13.1.2.RELEASE

Vulnerability Intelligence
Miggo AIMiggo AI

Miggo AIRoot Cause Analysis

The vulnerability in Valtimo's scripting engine is due to an insecure configuration of the underlying Camunda BPM engine. By default, Camunda's scripting engine does not sandbox script execution, allowing scripts to access any Java class on the classpath. This can be exploited by an attacker with admin privileges to execute arbitrary code on the server by creating a malicious process definition.

The patch for this vulnerability introduces a sandboxing mechanism by providing a custom ScriptEngineResolver. The analysis of the patch commit 45eb60b0b2df5964fb9917295d0dceb1fff8dd85 reveals the addition of three key components that work together to mitigate the vulnerability:

  1. CamundaContextConfiguration.scriptingWhitelistPlugin: This new Spring bean is the entry point for the fix. It creates an instance of the ScriptingWhitelistPlugin.

  2. ScriptingWhitelistPlugin.preInit: This plugin's preInit method is called during the Camunda engine's startup. It configures the engine to use a new, secure ScriptEngineResolver.

  3. AllowedClassesScriptEngineResolver.getJavaScriptScriptEngine: This is the core of the sandboxing mechanism. It returns a GraalJS script engine that is configured with a whitelist of allowed classes. Any attempt to access a class not on the whitelist from a script will be blocked.

The vulnerability is therefore not a flaw in a single function, but a configuration oversight in how Valtimo integrates the Camunda engine. The identified functions are the ones added by the patch to correct this oversight. During exploitation of a vulnerable version, a runtime profile would likely show calls within the Camunda script execution engine, but the root cause lies in the lack of the secure configuration provided by the functions listed above.

Vulnerable functions

Only Mi**o us*rs **n s** t*is s**tion

WAF Protection Rules

WAF Rule

### Imp**t *ny **min t**t **n *r**t* or mo*i*y *n* *x**ut* pro**ss-***initions *oul* **in ****ss to s*nsitiv* **t* or r*sour**s. T*is in*lu**s *ut is not limit** to: - Runnin* *x**ut**l*s on t** *ppli**tion *ost - Insp**tin* *n* *xtr**tin* **t* *rom

Reasoning

T** vuln*r**ility in V*ltimo's s*riptin* *n*in* is *u* to *n ins**ur* *on*i*ur*tion o* t** un**rlyin* **mun** *PM *n*in*. *y ****ult, **mun**'s s*riptin* *n*in* *o*s not s*n**ox s*ript *x**ution, *llowin* s*ripts to ****ss *ny J*v* *l*ss on t** *l*ss