继2021年底由阿里发现的Log4j的严重漏洞之后, Spring框架也被发现了一个重大的安全漏洞。目前这个漏洞的名称被称为“SpringShell: Spring Core RCE 0-day Vulnerability”。
这个漏洞是一个RCE的漏洞,RCE (remote command/code execute),远端命令执行, 也就是可以在远端控制服务器,相当于一个命令窗口,类似于linux 的Shell , 所以被称为 SpringShell。 发生在去年的Log4j 的漏洞也有类似的状况,所以也被戏称为Log4Shell。
0-day漏洞,又称“零日漏洞”(zero-day),是已经被发现(有可能未被公开),而官方还没有相关补丁的漏洞。 但是随后,Spring官方对这个问题进行了紧急修复, 所以也就不是零日漏洞了。但是这个漏洞目前还没有产生 CVE的漏洞统一编码。
满足以下两个条件,则存在风险:
- JDK9版本之上
- 使用了Spring MVC框架
另外,这个漏洞发生在打包成war打包档部署到Tomcat运行的状况, 对于开发时使用内嵌的Tomcat不受影响。其他Servlet容器也不影响。
什么样的风险?上面说到攻击的类型时RCE,远程攻击者可以在满足一定条件的基础上,通过框架的参数绑定功能获取AccessLogValve对象和恶意字段值,从而触发管道机制 并写入任意字段。
如何确认是否存在风险-
检查服务器的Java版本
在命令行输入
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)