Apache Struts2的Jakarta Multipart parser插件存在远程代码执行漏洞,漏洞编号为CVE-2017-5638。攻击者可以在使用该插件上传文件时,修改HTTP请求头中的Content-Type值来触发该漏洞,导致远程执行代码。
我们不妨看看绿盟科技的NTI威胁中心的情况,就知道这个漏洞的影响有多广泛了:
针对该漏洞,绿盟NF防火墙(NF)及绿盟远程安全评估系统(RSAS)第一时间发布了防护规则及扫描插件。利用NF与RSAS的联动功能,用户可以轻松实现发现→防护的闭环效果。
无图无真相,请各位上眼
部署环境
防护效果
虽然是最新的漏洞,但是在NF和RSAS强大的安全专业解决方案下,也是无所遁形的。各位会问,这么强大的防护是否配置很麻烦。其实一点不麻烦,只需在NF和RSAS上分别配置对端IP及相关的用户密码即可。可谓是:简简单单做运维,明明白白做安全。
注:使用时RSAS需要打开数据接口
官方解决方案
官方已经发布了版本更新,建议用户升级到不受影响的最新版本(Struts2 2.3.32或Struts 2.5.10.1),下载链接如下所示:
Struts 2.3.32:
https://github.com/apache/struts/releases/tag/STRUTS_2_3_32
Struts 2.5.10.1:
https://github.com/apache/struts/releases/tag/STRUTS_2_5_10_1
临时修复方案
在用户不便进行升级的情况下,作为临时的解决方案,用户可以进行以下操作来规避风险:
修改WEB-INF/classes目录下的struts.xml中的配置
在WEB-INF/classes目录下的struts.xml 中的struts 标签下添加<constant name=”struts.custom.i18n.resources” value=”global” />;在WEB-INF/classes/ 目录下添加 global.properties,文件内容如下
struts.messages.upload.error.InvalidContentTypeException=1。
配置过滤器过滤Content-Type的内容
在web应用的web.xml中配置过滤器,在过滤器中对Content-Type内容的合法性进行检测:
技术防护方案
如果您不清楚是否受此漏洞影响:
◆ 公网资产可使用绿盟云紧急漏洞在线检测,检测地址如下:
http://t.cn/RipBq1c
◆ 内网资产可以使用绿盟科技的远程安全评估系统(RSAS V5、V6)或 Web应用漏洞扫描系统(WVSS) 进行检测。
远程安全评估系统(RSAS V5)
http://update.nsfocus.com/update/listAurora/v/5
远程安全评估系统(RSAS V6)
http://update.nsfocus.com/update/listRsasDetail/v/vulweb
Web应用漏洞扫描系统(WVSS)
http://update.nsfocus.com/update/listWvss
通过上述链接,升级至最新版本即可进行检测!
◆ 使用绿盟科技防护类产品(IPS/IDS/NF/WAF)进行防护:
入侵防护系统(IPS)
http://update.nsfocus.com/update/listIps
入侵检测系统(IDS)
http://update.nsfocus.com/update/listIds
下一代防火墙系统(NF)
http://update.nsfocus.com/update/listNf
Web应用防护系统(WAF)
http://update.nsfocus.com/update/wafIndex
通过上述链接,升级至最新版本即可进行防护!
查看完整漏洞分析报告请点击文末“阅读原文”
请点击屏幕右上方“…” NSFOCUS-weixin | |
↑↑↑长按二维码,下载绿盟云APP