CVE-2019-0227: Apache Axis RCE
字数 1697 2025-08-29 08:32:18

Apache Axis RCE漏洞分析报告 (CVE-2019-0227)

1. 漏洞概述

CVE编号: CVE-2019-0227
漏洞类型: 服务器端请求伪造(SSRF)导致远程代码执行(RCE)
影响组件: Apache Axis 1.x版本
漏洞等级: 高危
发现时间: 2019年1月
公开时间: 2019年4月

2. 受影响环境

  • 运行Apache Axis 1.x版本的系统
  • 特别是保留了默认安装中的StockQuoteService.jws示例服务的系统
  • 理论上也影响Axis2,但Axis2默认不包含类似的示例服务

3. 漏洞原理分析

3.1 核心问题

漏洞存在于Apache Axis默认安装的StockQuoteService.jws示例服务中,该服务会向www.xmltoday.com域名发起HTTP请求来获取股票价格信息。

关键问题点:

  1. 使用硬编码的过期域名(www.xmltoday.com)
  2. 使用不安全的HTTP协议而非HTTPS
  3. XMLUtils.newDocument方法会遵循HTTP重定向

3.2 漏洞利用链

  1. SSRF漏洞:攻击者可以控制发送给www.xmltoday.com的symbol参数
  2. 域名控制:由于www.xmltoday.com域名已过期,可被任何人注册
  3. 重定向滥用:攻击者注册该域名后,可设置重定向到localhost上的特定URL
  4. 权限提升:Axis以管理员权限处理localhost的请求

3.3 技术细节

XMLUtils.newDocument方法的关键属性设置:

HttpURLConnection connection = (HttpURLConnection)url.openConnection();
connection.setInstanceFollowRedirects(true);  // 关键设置,允许重定向

4. 漏洞利用方式

4.1 直接利用方式

  1. 注册控制www.xmltoday.com域名
  2. 设置域名重定向到localhost上的恶意URL
  3. 诱导目标服务器访问StockQuoteService.jws服务
  4. 通过重定向实现本地服务调用,最终获取RCE

4.2 中间人攻击(MITM)方式

适用于内网环境:

  1. 对目标Axis服务器进行ARP投毒
  2. 拦截转发所有流量到攻击者控制的web服务器
  3. 筛选并重定向特定请求到精心构造的localhost URL
  4. 触发HTTP请求,重定向到StockQuoteService.jws

5. 漏洞验证与复现

5.1 环境准备

  • Apache Axis 1.4
  • Apache Tomcat 8.5
  • 保留默认的StockQuoteService.jws服务

5.2 复现步骤

  1. 访问目标服务器的StockQuoteService.jws服务
  2. 构造恶意请求,控制symbol参数
  3. 观察服务器行为,验证是否遵循重定向

6. 修复方案

6.1 临时缓解措施

  1. 删除示例服务:移除Axis根目录下的StockQuoteService.jws文件
  2. 网络隔离:限制Axis服务器的出站网络连接
  3. 协议升级:确保所有外部请求使用HTTPS并验证证书

6.2 官方补丁

Apache已发布补丁,主要修改:

  1. 防止XMLUtils.newDocument滥用重定向功能
  2. 增强对外部请求的安全检查

7. 时间线

  • 2019年1月15日:漏洞报告给Apache
  • 2019年1月27日:Apache确认漏洞
  • 2019年3月12日:Apache发布SSRF补丁
  • 2019年4月2日:分配CVE编号
  • 2019年4月10日:漏洞公开披露

8. 防御建议

  1. 升级迁移:考虑从Axis迁移到更现代的框架如Axis2、Apache CXF或Metro
  2. 代码审计:检查所有使用HTTP外部请求的服务
  3. 最小权限:确保Axis服务不以管理员权限运行
  4. 网络监控:监控对xmltoday.com等可疑域名的访问

9. 相关资源

10. 总结

CVE-2019-0227展示了默认安装配置和硬编码凭证带来的安全风险,特别是当这些配置依赖于外部资源时。此漏洞也强调了及时更新淘汰旧组件的重要性,以及全面移除示例代码在生产环境中的必要性。

Apache Axis RCE漏洞分析报告 (CVE-2019-0227) 1. 漏洞概述 CVE编号 : CVE-2019-0227 漏洞类型 : 服务器端请求伪造(SSRF)导致远程代码执行(RCE) 影响组件 : Apache Axis 1.x版本 漏洞等级 : 高危 发现时间 : 2019年1月 公开时间 : 2019年4月 2. 受影响环境 运行Apache Axis 1.x版本的系统 特别是保留了默认安装中的 StockQuoteService.jws 示例服务的系统 理论上也影响Axis2,但Axis2默认不包含类似的示例服务 3. 漏洞原理分析 3.1 核心问题 漏洞存在于Apache Axis默认安装的 StockQuoteService.jws 示例服务中,该服务会向 www.xmltoday.com 域名发起HTTP请求来获取股票价格信息。 关键问题点: 使用硬编码的过期域名( www.xmltoday.com ) 使用不安全的HTTP协议而非HTTPS XMLUtils.newDocument 方法会遵循HTTP重定向 3.2 漏洞利用链 SSRF漏洞 :攻击者可以控制发送给 www.xmltoday.com 的symbol参数 域名控制 :由于 www.xmltoday.com 域名已过期,可被任何人注册 重定向滥用 :攻击者注册该域名后,可设置重定向到 localhost 上的特定URL 权限提升 :Axis以管理员权限处理 localhost 的请求 3.3 技术细节 XMLUtils.newDocument 方法的关键属性设置: 4. 漏洞利用方式 4.1 直接利用方式 注册控制 www.xmltoday.com 域名 设置域名重定向到 localhost 上的恶意URL 诱导目标服务器访问 StockQuoteService.jws 服务 通过重定向实现本地服务调用,最终获取RCE 4.2 中间人攻击(MITM)方式 适用于内网环境: 对目标Axis服务器进行ARP投毒 拦截转发所有流量到攻击者控制的web服务器 筛选并重定向特定请求到精心构造的 localhost URL 触发HTTP请求,重定向到 StockQuoteService.jws 5. 漏洞验证与复现 5.1 环境准备 Apache Axis 1.4 Apache Tomcat 8.5 保留默认的 StockQuoteService.jws 服务 5.2 复现步骤 访问目标服务器的 StockQuoteService.jws 服务 构造恶意请求,控制symbol参数 观察服务器行为,验证是否遵循重定向 6. 修复方案 6.1 临时缓解措施 删除示例服务 :移除Axis根目录下的 StockQuoteService.jws 文件 网络隔离 :限制Axis服务器的出站网络连接 协议升级 :确保所有外部请求使用HTTPS并验证证书 6.2 官方补丁 Apache已发布补丁,主要修改: 防止 XMLUtils.newDocument 滥用重定向功能 增强对外部请求的安全检查 7. 时间线 2019年1月15日:漏洞报告给Apache 2019年1月27日:Apache确认漏洞 2019年3月12日:Apache发布SSRF补丁 2019年4月2日:分配CVE编号 2019年4月10日:漏洞公开披露 8. 防御建议 升级迁移 :考虑从Axis迁移到更现代的框架如Axis2、Apache CXF或Metro 代码审计 :检查所有使用HTTP外部请求的服务 最小权限 :确保Axis服务不以管理员权限运行 网络监控 :监控对 xmltoday.com 等可疑域名的访问 9. 相关资源 官方漏洞报告 MITM攻击PoC Apache Axis官网 10. 总结 CVE-2019-0227展示了默认安装配置和硬编码凭证带来的安全风险,特别是当这些配置依赖于外部资源时。此漏洞也强调了及时更新淘汰旧组件的重要性,以及全面移除示例代码在生产环境中的必要性。