Apache Commons OGNL漏洞CVE-2025-53192
Apache Commons OGNL(Object-Graph Navigation Language)是强大表达式语言,用于访问、执行和修改Java应用程序中的对象图。
OGNL 提供简洁的方式来导航对象的属性,调用方法,以及执行各种逻辑操作,已被广泛用于其他框架和应用程序中,如Struts2和Spring。
一、基本情况
OGNL(Object Graph Navigation Language,对象图导航语言)功能强大的表达式语言,最初由Drew Davidson和Luke Blanshard开发。
OGNL 的核心设计理念是提供一种简洁统一的方式来访问Java对象图中的任何节点,使得开发者能够以简单的语法操作复杂的对象结构。
OGNL本质上是种无类型语言(typeless language),OGNL中的每个值都是Java对象,OGNL会尝试从每个对象中提取出有意义的内容。
栋科技漏洞库关注到 Apache Commons OGNL 存在表达式/命令分隔符不当处理漏洞,漏洞追踪为CVE-2025-53192,CVSS 3.1评分8.8。
二、漏洞分析
CVE-2025-53192漏洞是Apache Commons OGNL存在表达式/命令分隔符不当处理漏洞,漏洞影响所有版本的Apache Commons OGNL。
具体而言,在使用Ognl.getValue API时,OGNL引擎会解析并评估提供的表达式,具有强大的功能,包括访问和调用相关方法等。
尽管OgnlRuntime试图通过黑名单限制某些危险类和方法的访问(如java.lang.Runtime),但这些限制并不全面。
这使得攻击者可能会绕过这些限制,利用黑名单未覆盖的类对象实现任意代码执行。
由于该项目已废弃,我们不再计划发布修复此问题的版本。建议用户寻找替代方案或限制实例的访问权限给可信用户。
需要说明的是,此漏洞只影响不再受维护人员支持的产品。
三、影响范围
Apache Commons OGNL 所有版本
四、修复建议
未知
五、参考链接
[lv]https://lists.apache.org/thread/2gj8tjl6vz949nnp3yxz3okm9xz2k7sp[/lv