预警编号:NS-2019-0049
2019-11-14
TAG: | Apache Shiro、RememberMe、 Padding Oracle 、Java反序列化 |
---|---|
漏洞危害: | 高,攻击者利用此漏洞,可造成远程代码执行。 |
版本: | 1.0 |
1
漏洞概述
2019年9月8日,Apache官方发布了编号为SHIRO-721的漏洞议题“RememberMe Padding Oracle Vulnerability”。该议题指出,由于Apache Shiro cookie的RememberMe字段通过AES-128-CBC模式进行加密,使Shiro易受到Padding Oracle攻击。攻击者可使用合法的RememberMe cookie作为Padding Oracle攻击前缀,构造RememberMe触发Java反序列化攻击。攻击者无需知道RememberMe的加密密钥,即可执行攻击。
Apache Shiro是一个强大且易用的Java安全框架,被用来执行身份验证、授权、密码和会话管理。近日,发现针对该漏洞的利用方式已被小范围传播,请相关用户尽快采取措施对此漏洞进行防护。
攻击步骤如下:
- 登录shiro网站,从cookie中获取RememberMe字段。
- 用获取的RememberMe字段作为Padding Oracle Attack的前缀。
- 加密ysoserial的序列化payload,构造Padding Oracle Attackd的RememberMe字段。
- 用新构造的RememberMe cookie向shiro网站发送请求,执行Java反序列化攻击。
参考链接:
https://issues.apache.org/jira/browse/SHIRO-721
SEE MORE →
2影响范围
受影响版本
- Apache Shiro 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-root-1.4.2-release-vote1(即将发布)
3漏洞防护
目前官方暂未发布针对此漏洞的修复版本,请相关用户实时关注官方动态及时进行升级。
3.1 产品防护
部署有绿盟科技Web应用防护系统(WAF)的用户,可自行排查配置WAF防护参数及策略,实现对此漏洞的防护:
1、 此漏洞的利用需要向服务器发送超长报文,因此在没有调大数据接收缓冲区(默认4096)的情况下,WAF可对此漏洞实现防护。数据接受缓冲区需要在维护员权限下,进入“系统管理->系统参数配置”进行查看及配置。
2、 由于此漏洞需要依靠服务器报错来判断是否利用成功,因此用户也可开启服务器信息泄露防护策略,阻断异常响应,实现对此漏洞的防护。
3.2 临时缓解措施
1、开发人员可自定义加密逻辑,避免使用CBC密码块链接模式,以下CipherSuite易受到Padding Oracle攻击,请开发人员避免使用。(SHIRO官方即将发布的1.4.2版本,将加密模式替换为GCM)
IDEA-CBC-SHA, EXP-DES-CBC-SHA, DES-CBC-SHA, DES-CBC3-SHA, EXP-DH-DSS-DES-CBC-SHA, DH-DSS-DES-CBC-SHA, DH-DSS-DES-CBC3-SHA, EXP-DH-RSA-DES-CBC-SHA, DH-RSA-DES-CBC-SHA, DH-RSA-DES-CBC3-SHA, EXP-DHE-DSS-DES-CBC-SHA, DHE-DSS-CBC-SHA, DHE-DSS-DES-CBC3-SHA, EXP-DHE-RSA-DES-CBC-SHA, DHE-RSA-DES-CBC-SHA, DHE-RSA-DES-CBC3-SHA, EXP-ADH-DES-CBC-SHA, ADH-DES-CBC-SHA, ADH-DES-CBC3-SHA, EXP-RC2-CBC-MD5, IDEA-CBC-SHA, EXP-DES-CBC-SHA, DES-CBC-SHA, DES-CBC3-SHA, EXP-DHE-DSS-DES-CBC-SHA, DHE-DSS-CBC-SHA, DHE-DSS-DES-CBC3-SHA, EXP-DHE-RSA-DES-CBC-SHA, DHE-RSA-DES-CBC-SHA, DHE-RSA-DES-CBC3-SHA, ADH-DES-CBC-SHA, ADH-DES-CBC3-SHA, AES128-SHA, AES256-SHA, DH-DSS-AES128-SHA, DH-DSS-AES256-SHA, DH-RSA-AES128-SHA, DH-RSA-AES256-SHA, DHE-DSS-AES128-SHA, DHE-DSS-AES256-SHA, DHE-RSA-AES128-SHA, DHE-RSA-AES256-SHA, ADH-AES128-SHA, ADH-AES256-SHA |
---|
2、若没有使用RememberMe的业务需求,可在前端页面注释掉相关代码,并将配置文件中的相关配置去掉。Shiro默认未配置RememberMe。
END
作者:绿盟科技安全服务部
声明
本安全公告仅用来描述可能存在的安全问题,绿盟科技不为此安全公告提供任何保证或承诺。由于传播、利用此安全公告所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,绿盟科技以及安全公告作者不为此承担任何责任。
绿盟科技拥有对此安全公告的修改和解释权。如欲转载或传播此安全公告,必须保证此安全公告的完整性,包括版权声明等全部内容。未经绿盟科技允许,不得任意修改或者增减此安全公告内容,不得以任何方式将其用于商业目的。