首页 网络安全 正文
  • 本文约971字,阅读需5分钟
  • 99
  • 0

Apache Struts 2远程代码执行漏洞CVE-2024-53677

摘要

栋科技漏洞库关注到Apache Struts 2框架中存在的一个远程代码执行漏洞,该漏洞被追踪为CVE-2024-53677,该漏洞的CVSS评分为9.5。

Apache Struts2由Apache社区的Struts1和Opensysmphony的Webwork整合而来,Struts负责http请求处理,Webwork负责业务逻辑处理。

Struts 2是一个用于开发Java EE网络应用程序的开放源代码网页应用程序架构,利用并延伸Java Servlet API,鼓励开发者采用MVC架构。

Struts2以WebWork优秀的设计思想为核心,吸收Struts框架的部分优点,提供了一个更加整洁的MVC设计模式实现的Web应用程序框架。

一、基本情况

2005年12月,WebWork宣布WebWork 2.2以Apache Struts 2的名义合并至Struts,后于2007年02月首个全发布(full release)版本释出。

Struts2引入多个新的框架特性,Struts2充分利用从其它MVC框架学到的经验和教训,使得新的Struts2框架结构更清晰,使用更灵活方便。

Apache Struts 2远程代码执行漏洞CVE-2024-53677

Struts 2提供了对MVC的清晰的实现,这一实现包含了很多参与对所以请求进行处理的关键组件,如:拦截器、OGNL表达式语言、堆栈。

栋科技漏洞库关注到Apache Struts 2框架中存在的一个远程代码执行漏洞,该漏洞被追踪为CVE-2024-53677,该漏洞的CVSS评分为9.5。

二、漏洞分析

CVE-2024-53677漏洞是Apache Struts 2框架中的一个文件上传漏洞,具体而言,该漏洞是Apache Struts 2的文件上传逻辑中存在的漏洞。

如果其代码中使用了 FileUploadInterceptor,当进行文件上传时,攻击者可能会通过构造恶意请求,利用目录遍历等上传文件至其他目录。

漏洞属于路径名的限制不恰当,当代码中使用了FileUploadInterceptor作为文件上传组件时,成功利用可能导致文件上传获取服务器权限。

漏洞源于文件上传逻辑缺陷,由于在文件上传过程中对用户提供的参数缺乏严格校验,攻击者可通过操纵文件上传参数执行路径遍历攻击。

如此一来,在某些情况下可能导致将恶意文件上传到服务器上的其他位置,成功利用可能导致远程代码执行、敏感数据泄露等情况的存在。

当然,远程代码执行漏洞的危害远不止于此,况且该漏洞的CVSS评分高达9.5,攻击者可利用该漏洞破坏网站内容或从事其他的恶意活动。

三、影响范围

2.0.0 <= Struts <= 2.3.37(EOL)

2.5.0 <= Struts <= 2.5.33

6.0.0 <= Struts <= 6.3.0.2

四、 修复建议

目前官方已发布安全更新,建议用户尽快升级至6.4.0及更高版本并使用ActionFileUploadInterceptor 作为文件上传组件。

升级后迁移到新的文件上传机制(即使用Action File Upload Interceptor来处理文件上传),可以防止该漏洞。

Struts >= 6.4.0

暂缓措施:

1、检查是否使用 FileUploadInterceptor 组件,不使用 FileUploadInterceptor 模块的应用程序不受该漏洞影响。

2、实施严格的输入验证,确保所有上传的文件都符合预期的格式和大小限制;

3、将上传的文件存储在隔离的环境中,并限制对这些文件的执行权限,以减少潜在的损害。

五、 参考链接

文章回复-路羽博客.png此处内容已隐藏,评论后刷新即可查看!

评论
更换验证码
友情链接