(一)CVE-2017-5638介绍
CVE-2017-5638,于2017年3月6日发布,是一种涉及Apache Struts2的远程代码执行漏洞,其威胁等级为高风险。此漏洞可被利用来在远程服务器上执行任意代码,甚至可以进行数据库或其他攻击。受影响的系统包括基于Apache Struts2版本2.3.5到2.3.31和2.5到2.5.10的应用,其中包含在 Apache Struts2 组件中特定处理器实例的代码可能被认为是可信任的输入,导致越权访问及命令注入攻击。
(二)CVE-2017-5638危害程度及影响范围
CVE-2017-5638高危漏洞的危害程度及影响范围是极大的。此漏洞可以让攻击者通过恶意构造请求,在运行受影响的应用程序的服务器上远程执行任意的OS命令,尤其是将受影响的web服务器变为DDoS攻击的切入点,或者篡改或披露托管在该系统的重要敏感信息,给受影响的服务器造成的安全威胁非常严重。
(三)CVE-2017-5638修复方案
(1 ) 对所有使用不安全默认参数的 Apache Struts 应用程序进行审核;
(2 ) 将 Apache Struts2 的版本升级到最新版;
(3 ) 添加入防火墙设置以阻止恶意流量;
(4 ) 执行频繁的系统备份,应对潜在的误操作;
(5 ) 安装及运行最新安全补丁,保护系统安全;
(6 ) 定期审核系统权限设置,以确保每个账户只拥有必要的权限;
(7 ) 配置安全访问控制,管理WEB服务的访问规则;
(8 ) 将系统日志记录在安全的网络设备上,以跟踪可疑的活动。
(四)CVE-2017-5638后果
如果来自恶意攻击者的攻击不受控制,可能对受影响系统的正确功能造成极大的影响,从而导致系统瘫痪、运行不正常、数据意外泄漏或受到破坏。这种漏洞的破坏性主要表现在系统的安全性和可靠性方面,以及产品的质量和服务水平方面。
1、CVE 2017-5638是apache struts2应用框架中认证处理模块存在越权漏洞,攻击者可以利用该漏洞越权操作相关应用系统,导致系统被恶意攻击,或者被误操作等安全问题。
2、CVE 2017-5638漏洞的利用取决于服务器的配置情况,当服务器上安装的版本在2.3.5到2.3.31之间,或者在2.5.10到2.5.17之间,都存在这样的缺陷,如果服务器使用到struts框架,攻击者可以使用这样的漏洞利用,对系统进行攻击。
3、CVE 2017-5638漏洞的原理是在Apache Struts 2中定义一次请求的处理流程,使用了一种从请求中获取参数的方式,从而可以在exception类中读取参数,但是在处理参数的过程中没有对参数进行足够的校验就将参数传递给处理器,这就造成了可以传递任意值的漏洞。
4、CVE 2017-5638的危害可以通过将恶意参数注入到框架中,可以导致服务器受到远程攻击,最典型的攻击方式就是执行远程代码攻击,获取相关系统资源,也可以进行私有文件删除,甚至可以造成系统完全被控制。
5、CVE 2017-5638漏洞的解决办法有很多,首先需要检查是否启用struts认证机制,已经启用的机制就要对struts进行升级,更新相关版本,这样就能有效的修复该漏洞的同时具有良好的安全性能,且可以保护相关系统不被非法操作。