Spring框架,是用于开发Java Web的应用程序的。最近,其开发人员修补了三个漏洞,其中包括可用于远程代码执行的关键漏洞。
最严重的缺陷位于spring-messaging模块,它允许应用程序通过内存中的STOMP代理在WebSocket端点上公开STOMP(简单文本导向消息传递协议)。攻击者可以通过向代理发送特制的消息,利用该问题来获取远程代码执行。
该漏洞被命名为CVE-2018-1270,它影响了Spring Framework版本4.3.x和5.x,以及不再支持旧版本。强烈建议用户升级到新发布的Spring Framework 5.0.5或4.3.15。
第二个高级漏洞CVE-2018-1271,影响了用Spring MVC去服务静态资源如Windows上的文件系统里的CSS,JS的应用。该漏洞允许攻击者通过向特制URL发送请求来执行目录浏览,以访问受限资源。
凡是未使用Tomcat或WildFly作为其服务器的应用程序,或者未使用Windows文件的不受影响。
在Spring Framework 5.0.5和4.3.15,CVE-2018-1272中修补的第三个漏洞可能导致权限提升,但由于利用需要额外的攻击媒介,因此评级较低。
“当Spring MVC或Spring WebFlux服务器应用程序(服务器A)从远程客户端接收输入,然后使用该输入向另一个服务器(服务器B)发出多部分请求时,它可能会受到攻击,其中一个额外的多余部分插入服务器A的请求内容,导致服务器B对其预期的部分使用错误的值,“Spring开发人员指出。
但是,为了能成功,攻击者“必须能够猜测服务器A为服务器B的多部分请求选择的多部分边界值,这要求攻击者具有控制服务器或查看服务器的能力。”
Spring具有模块化架构,很受应用程序开发人员的欢迎,尤其是在企业领域。根据2016年对2040名参与者的调查结果,Spring MVC和Spring Boot是Java开发人员中最受欢迎的两个Web框架,分别被43%和29%的受访者使用。