一、简介
Spring Data是一个用于简化数据库访问,并支持云服务的开源框架,Spring Data Commons是Spring Data下所有子项目共享的基础框架。Spring Data Commons 在2.0.5及以前版本中,存在一处SpEL表达式注入漏洞,攻击者可注入恶意SpEL表达式以执行任意命令,漏洞编号为CVE-2018-1273。
该漏洞发生在属性自动绑定阶段,当用户在项目中利用了Spring Data的相关Web特性对用户的输入参数进行自动匹配的时候,会将用户提交的Form表单的key值作为SpEL的执行内容,利用该特性,发送Payload将可能导致远程代码执行。
二、影响版本
- Spring Data Commons 1.13 to 1.13.10 (Ingalls SR10)
- Spring Data REST 2.6 to 2.6.10 (Ingalls SR10)
- Spring Data Commons 2.0 to 2.0.5 (Kay SR5)
- Spring Data REST 3.0 to 3.0.5 (Kay SR5)
- Older unsupported versions are also affected
三、环境搭建
所使用Spring Data Commons 测试版本为1.13.10
搭建效果如下图:

本文详细分析了Spring Data Commons 1.13.10版本中的SpEL表达式注入漏洞,该漏洞允许攻击者执行任意命令。文章介绍了漏洞的影响版本、环境搭建、复现过程、漏洞原理、POC构造以及修复方法。修复建议是升级至1.13.11或更高版本,使用SimpleEvaluationContext提高安全性。


最低0.47元/天 解锁文章
1099

被折叠的 条评论
为什么被折叠?



