Apache Shiro Padding Oracle导致远程代码执行漏洞预警
2019-11-14 15:49

报告编号:B6-2019-111401

报告来源:360-CERT

报告作者:360-CERT

更新日期:2019-11-14

0x00 漏洞背景

2019年11月3日,360CERT监测到业内友商发布了Apach Shiro Padding Oracle导致远程代码执行的漏洞分析。经360CERT分析研判,判断该漏洞等级为严重,危害面/影响面广。

Apache Shiro是一个应用面非常广的Java安全框架,主要用于完成身份校验、会话管理的操作。在Apache Shiro cookie中的通过AES-128-CBC模式加密的rememberMe字段存在问题,容易受到Padding Oracle攻击。攻击者可以通过以下步骤完成攻击:

  1. 用已经存在的用户登录网站,并从cookie中获得rememberMe字段。
  2. 使用rememberMe cookie作为Padding Oracle攻击的前缀。
  3. 通过Padding Oracle加密利用ysoserial生成的攻击代码来构造恶意的rememberMe字段。
  4. 用刚刚构造的恶意rememberMe重新请求网站,进行反序列化攻击,最终导致任意代码执行。

目前Apache Shiro并未发放官方补丁和缓解方案,360CERT建议使用Apache Shiro的用户及时对存在漏洞的资产进行自查,并及时关注官方安全补丁是否发布。360CERT将会对该漏洞进行持续的关注。

0x01 影响版本

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版本。

0x02 防范建议

临时防范建议:

在外部设备尝试拦截爆破流量,及时阻止攻击者进行尝试性攻击。

0x03 时间线

2019-11-13 360CERT检测到业内安全公司预警

2019-11-14 360CERT发布预警

0x04 参考链接

  1. Apache Shiro Padding Oracle导致远程代码执行漏洞分析
  2. Apache Shiro 官方Issue