
谷兰科技威胁提醒:
| 
				 3月7日,国家信息安全漏洞共享平台(CNVD)收录并披露了Apache Struts2 S2-045远程代码执行漏洞(CNVD-2017-02474,对应CVE-2017-5638),远程攻击者利用该漏洞可直接取得网站服务器控制权。截止发稿,互联网上已经出现多个利用该漏洞的POC。  | 
		
谷兰科技产品状态:
| 
				 谷兰科技全线产品未采用Struts2框架,产品安全性不受该漏洞影响。建议用户巡检网络内采用Apache Struts2框架的设备,及时修补相应漏洞。  | 
		
	
关于Struts2漏洞的具体信息及修补方案
	漏洞详情
	漏洞编号:S2-045
	CVE编号:CVE-2017-5638
	漏洞类型:远程代码执行
	漏洞级别:高危
	漏洞风险:黑客通过利用漏洞可以实现远程命令执行。
	影响版本:struts2.3.5–
struts2.3.31 , struts2.5–struts2.5.10。
	漏洞描述:攻击者可在上传文件时通过修改HTTP请求头中的Content-Type值来触发该漏洞,进而执行系统命令。
	漏洞分析
	漏洞存在的文件:
	 1. \core\src\main\java\org\apache\struts2\dispatcher\multipart\MultiPartRequestWrapper.java
	 2. \core\src\main\java\org\apache\struts2\dispatcher\multipart\JakartaMultiPartRequest.java
	 3. \core\src\main\java\org\apache\struts2\dispatcher\multipart\JakartaStreamMultiPartRequest.java
	修复方法:
	if (LocalizedTextUtil.findText(this.getClass(), errorKey, defaultLocale, null, new Object[0]) == null) {
	 return LocalizedTextUtil.findText(this.getClass(), "struts.messages.error.uploading", defaultLocale, null, new 
	Object[] { e.getMessage() });
	 } else {
	 return LocalizedTextUtil.findText(this.getClass(), errorKey, defaultLocale, null, args);
	 }
	 
	漏洞利用条件:
	 1.基于Jakarta(Jakarta
Multipart parser)插件的文件上传功能
	 2.恶意攻击者构造Content-Type的值
	修复建议:
	 1.修复Jakarta文件上传插件或者是存在漏洞的Struts 2版本请升级至Struts2安全版本
	 2.通过Servlet过滤器验证Content-Type值
	 3.添加waf规则进行拦截恶意攻击