IPBUF安全漏洞报告
English
CVE-2026-2587 CVSS 9.6 严重

CVE-2026-2587 Glassfish远程代码执行漏洞

披露日期: 2026-05-19

漏洞信息

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

相关标签

远程代码执行RCEGlassfishEL注入表达式语言注入严重漏洞

漏洞概述

Glassfish gadget handler中存在严重的远程代码执行漏洞。该漏洞源于服务器端模板渲染机制在处理.xml文件时,未对用户提供的值进行适当的清理或转义,直接在表达式语言(EL)上下文中求值。攻击者可通过注入恶意EL表达式(如#{7*7})触发漏洞,导致服务器返回计算结果,进而完全控制主机,实现数据读写、任意命令执行及横向移动,安全风险极高。

技术细节

该漏洞核心在于Glassfish gadget handler处理服务器端模板渲染时的逻辑缺陷。应用程序在解析.xml文件时,错误地将用户可控的输入数据置于表达式语言(EL)的执行上下文中,且未实施必要的转义或沙箱隔离机制。攻击者可利用此特性,构造形如#{...}的恶意表达式。例如,注入#{7*7}会导致服务器端计算并返回49,证实了EL注入点。利用此漏洞,攻击者可以进一步构造复杂的payload,通过EL表达式访问Java类库,执行如Runtime.getRuntime().exec()等系统命令,实现远程代码执行,进而获取服务器完全控制权。

攻击链分析

STEP 1
侦察
攻击者识别目标系统使用Glassfish并处理XML格式的数据输入。
STEP 2
构造载荷
攻击者创建包含恶意表达式语言(EL)代码的特制XML文件,例如#{7*7}用于验证漏洞。
STEP 3
发送请求
将包含恶意payload的XML数据发送至服务器的Glassfish gadget handler接口。
STEP 4
代码执行
服务器解析XML并执行其中的EL表达式,返回计算结果或执行系统命令。
STEP 5
建立控制
攻击者利用执行环境反弹Shell,获得对底层主机的完全控制权限。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
<!-- PoC for EL Injection in Glassfish --> <!-- Malicious XML payload to trigger EL evaluation --> <payload> <data>#{7*7}</data> </payload> <!-- Expected server response: 49 --> <!-- Command execution example (not for production use): --> <!-- <data>#{"".getClass().forName("java.lang.Runtime").getRuntime().exec("calc.exe")}</data> -->

影响范围

版本信息未在描述中明确提及

防御指南

临时缓解措施
在官方补丁发布前,建议在WAF或网关层面拦截包含EL表达式特征(如#{或}{})的XML请求流量,并限制服务器对上传XML文件的解析权限。

参考链接

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