一、简介
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
搭建效果如下图: