应用安全漏洞及修复
近期阿里云服务漏洞扫描,发现大量应用安全漏洞,做出安全漏洞修复方案,一般三方jar包漏洞,官方发布漏洞时,肯定已有新版本做了处理,所以我们只需要做jar版本升级即可。
漏洞处理方案
2021-02-20
漏洞处理方案
- 编写目的
安全漏洞如果被恶意用户利用,会造成服务器及系统被攻击利用,造成严重损失。
为保障服务及系统安全,发现的安全漏洞需要及时修复。
- 适用范围
研发人员,运维人员
- 安全漏洞
- 阿里云业务层面漏洞整理文档
- XStream 漏洞
XStream < 1.4.14 远程代码执行高危漏洞(CVE-2020-26217),XStream < 1.4.15 反序列化漏洞(CVE-2020-26258、CVE-2020-26259)
漏洞描述
XStream是一个常用的Java对象和XML相互转换的工具。近日XStream官方发布安全更新,修复了XStream 反序列化漏洞(CVE-2020-26258、CVE-2020-26259)。攻击者通过构造恶意的XML文档,可绕过XStream的黑名单,触发反序列化,从而造成CVE-2020-26258 SSRF漏洞,以及 CVE-2020-26259 任意文件删除漏洞。
影响版本
XStream < 1.4.15
安全版本
XStream 1.4.15
修复建议
针对使用到XStream组件的web服务升级至最新版本:http://x-stream.github.io/changes.html
- Spring Framework漏洞
在Spring Framework版本5.2.0-5.2.8、5.1.0-5.1.17、5.0.0-5.0.18、4.3.0-4.3.28和更旧的不受支持版本中,可能会绕过CVE-2015-5211对RFD攻击的保护,具体取决于通过使用jsessionid路径参数使用的浏览器。
漏洞详情:https://nvd.nist.gov/vuln/detail/CVE-2020-5421
详情
在Spring Framework版本5.2.0-5.2.8、5.1.0-5.1.17、5.0.0-5.0.18、4.3.0-4.3.28和更旧的不受支持版本中,可能会绕过CVE-2015-5211对RFD攻击的保护,具体取决于通过使用jsessionid路径参数使用的浏览器。
修复建议
升级至最新版本,下载地址:https://repo.spring.io/release/org/springframework/spring/
注意:
spring漏洞检测规则是通过判定机器运行时的jar包中是否存在漏洞版本的spring组件,无法精准确认漏洞有效攻击面,实际是否真实受漏洞影响还需用户根据自身业务判断。
- Apache Shiro漏洞
阿里云应急响应中心监测到Apach Shiro官方披露其cookie持久化参数rememberMe加密算法存在漏洞,可被Padding Oracle攻击,攻击者利用Padding Oracle攻击手段可构造恶意的rememberMe值,绕过加密算法验证,执行java反序列化操作,最终可导致远程命令执行获取服务器权限,风险极大。
漏洞详情:https://help.aliyun.com/noticelist/articleid/1060153098.html
详情
Apache Shiro < 1.4.2 版本中cookie值rememberMe通过AES-128-CBC模式加密,容易受到Padding Oracle攻击。攻击者可以通过以下步骤完成攻击:
1、登录Shiro网站,获取持久化cookie中rememberMe字段的值;
2、通过ysoserial反序列漏洞利用工具生成攻击payload作为plaintext;
3、使用rememberMe值作为prefix进行Padding Oracle攻击,加密payload的plaintext得到rememberMe攻击字符串;
4、使用rememberMe攻击字符串重新请求网站,进行反序列化攻击,最终导致远程任意命令执行。
影响版本
1.2.5,1.2.6,1.3.0,1.3.1,1.3.2,1.4.0-RC2,1.4.0,1.4.1
阿里云应急响应中心监测到Apache Shiro官方发布安全更新,修复了一个最新权限绕过漏洞。攻击者利用该漏洞可以绕过验证访问到后台功能,风险较高。
漏洞详情:https://help.aliyun.com/noticelist/articleid/1060604187.html
详情
Apache Shiro是一个应用广泛的权限管理的用户认证与授权框架。近日,shiro被爆出Apache Shiro 身份验证绕过漏洞 (CVE-2020-11989),攻击者可以使用包含payload的恶意请求绕过Shiro的身份认证,漏洞于1.5.3修复。实际上,这个修复并不完全,由于shiro在处理url时与spring仍然存在差异,shiro最新版仍然存在身份校验绕过漏洞。2020年8月17日,Apache Shiro发布1.6.0版本修复该漏洞绕过。阿里云应急响应中心提醒Apache Shiro用户尽快采取安全措施阻止漏洞攻击。
影响版本
Apache Shiro < 1.6.0
安全版本
Apache Shiro >= 1.6.0
修复建议
升级至安全版本
- FastJson漏洞
fastjson <= 1.2.68 反序列化远程代码执行漏洞
fastjson爆发新的反序列化远程代码执行漏洞,黑客利用漏洞,可绕过autoType限制,直接远程执行任意命令攻击服务器,风险极大。
漏洞详情:https://help.aliyun.com/noticelist/articleid/1060343604.html
漏洞描述
fastjson采用黑白名单的方法来防御反序列化漏洞,导致当黑客不断发掘新的反序列化Gadgets类时,在autoType关闭的情况下仍然可能可以绕过黑白名单防御机制,造成远程命令执行漏洞。经研究,该漏洞利用门槛较低,可绕过autoType限制,风险影响较大。
影响版本
fastjson <=1.2.68
fastjson sec版本 <= sec09
安全版本
fastjson >=1.2.69
fastjson sec版本 >= sec10
修复建议
安全建议
注意:较低版本升级至最新版本1.2.69可能会出现兼容性问题,建议升级至特定版本的sec10 bugfix版本
一、升级至安全版本,参考下载链接:https://repo1.maven.org/maven2/com/alibaba/fastjson/
二、fastjson加固
fastjson在1.2.68及之后的版本中引入了safeMode,配置safeMode后,无论白名单和黑名单,都不支持autoType,可一定程度上缓解反序列化Gadgets类变种攻击(关闭autoType注意评估对业务的影响)开启方法参考:https://github.com/alibaba/fastjson/wiki/fastjson_safemode
三、采用其他json处理组件替换,jackson-databind漏洞也频发,建议使用Gson
四、使用阿里云云防火墙紧急漏洞拦截(可申请免费试用),再升级到安全版本
注意:
fastjson漏洞检测规则是通过判定机器运行时的jar包中是否存在漏洞版本的fastjson组件,无法精准确认漏洞有效攻击面,实际是否真实受漏洞影响还需用户根据自身业务判断。
- Jackson漏洞
阿里云应急响应中心监测到有安全研究人员披露Jackson最新反序列化远程代码执行漏洞(CVE-2019-14361和CVE-2019-14439),针对CVE-2019-12384漏洞绕过,利用可导致远程执行服务器命令,官方git已发布公告说明,请使用到Jackson的用户尽快升级至安全版本。
漏洞详情:https://help.aliyun.com/noticelist/articleid/1060035134.html
近日,Jackson官方github仓库发布安全issue,涉及漏洞CVE-2019-14361和CVE-2019-14439,均是针对CVE-2019-12384漏洞的绕过利用方式,当用户提交一个精心构造的恶意JSON数据到WEB服务器端时,可导致远程任意代码执行。阿里云应急响应中心提醒Jackson用户尽快采取安全措施阻止漏洞攻击。
修复建议
针对使用到jackson-databind组件的web服务器升级jackson相关组件至最新版本:https://github.com/FasterXML/jackson-databind/issues/2334
注意:
Jackson漏洞检测规则是通过判定机器运行时的jar包中是否存在漏洞版本的jackson-databind组件,无法精准确认漏洞有效攻击面,实际是否真实受漏洞影响还需用户根据自身业务判断。
- Redis漏洞
阿里云应急响应中心监测到有安全研究人员披露Redis 4.x/5.x 远程命令执行高危漏洞利用代码工具。针对未授权或弱口令的Redis服务,攻击者通过构造特定请求,成功利用漏洞可在目标服务器上执行任意命令,风险极大。
漏洞详情:https://help.aliyun.com/noticelist/articleid/1060026197.html
影响版本
Redis 4.x
Redis 5.x
修复建议
一、通过阿里云安全组禁止Redis端口对外或只允许特定安全ip地址访问
二、加固Redis,增加权限控制和密码策略等:https://help.aliyun.com/knowledge_detail/37447.html
- Apache Struts2 Commons FileUpload漏洞
Apache Struts2 Commons FileUpload反序列化远程代码执行漏洞(CVE-2016-1000031)
阿里云云盾应急响应中心监测到Apache Struts发布了一个安全更新,以解决低版本的Commons FileUpload库带来的远程反序列化代码执行漏洞,阿里云建议用户立即更新Commons FileUpload依赖库到最新版本
漏洞详情:https://help.aliyun.com/noticelist/articleid/1000056792.html
详情
Apache软件基金会(ASF)向Apache Struts项目管理员发布了关于CVE-2016-1000031漏洞的安全公告,其中披露一个Commons FileUpload库的历史高危漏洞CVE-2016-1000031,而2.3.x系列版本的Apache Struts2仍在使用低版本的Commons FileUpload库,该库作为Struts2的一部分,被用作文件上传的默认机制,远程攻击者利用该漏洞可直接获得服务器权限。2.5.12以上版本的Struts2暂不受影响。
影响范围
Apache Struts 2.3.36及之前的版本
风险评级
CVE-2016-1000031:严重
修复建议
注意:java类web应用的修复一般都需要重启应用
方案一:
升级至2.5.18及以上版本的Struts2,官方下载链接:https://struts.apache.org/download.cgi
方案二:
升级Struts2依赖的Commons FileUpload库版本至最新1.3.3,官方下载地址:https://commons.apache.org/proper/commons-fileupload/download_fileupload.cgi
- 版本升级处理方式
- idea安装Maven Helper
2. ctrl+shift+F 全局检索,升级相关jar包版本
3. 解决jar包冲突
排除后reimport下
4. 查看版本情况
5.启动应用,验证应用正常运行,未有异常
6.漏洞验证或重新扫描,确保漏洞修复成功。