11月5日,Apache 软件基金会发布安全公告,再次建议 Struts 用户将 Commons FileUpload 库更新至 1.3.2 版本以上,以免项目可能遭远程代码执行攻击。
早于1.3.3 版本的库都存在和 Java Object 有关的反序列化问题,它可被用于将文件写入或复制到磁盘上的任意位置。
安全公告指出,“虽然该 Object 可单独使用,但这个新的向量可整合 ysoserial 上传并在单个反序列化调用种执行二进制。”除非有一种不同的机制向通过 Struts 构建的 web 应用程序添加文件上载功能,否则框架默认使用 Commons FileUpload 组件。
基金会在3月份发布第一次警报。此后发布了两个新的 Struts 2.3.x 版本。该分支的最新版本是 Struts 2.3.36,作为“通用可用性”版本在10月15日发布。和此前版本一样,它包含该库的易受攻击版本,因为 Apache Struts 2.5.12 版本才将 Common FileUpload 更新至1.3.3版本,而2.3.x 分支支持的仍然是错误的版本。
基金会在警报中提到的漏洞出现在两年之前,编号是 CVE-2016-1000031。
基金会在11月4日发布了类似公告,督促用户更新库以防御可导致拒绝服务条件的一个出现在2014年的漏洞。
要减轻安全风险用户必须手动替换这个默认的 Commons FileUpload 变体。用户可下载最新的 “commons-fileupload” JAR 文件,替换 “WEB-INF/lib” 中的旧版本就能在已经部署的应用程序中实现。
Struts 2 项目基于 Maven 基础之上,需要添加如下的依赖关系:
commons-fileupload
commons-fileupload
1.3.3
SANS 互联网风暴中心的Johannes Ullrich 提醒管理员称应当检查系统中是否存在易受攻击的库并将其删除。他指出,Struts 并非唯一使用该库的应用,其它应用也应该予以更新。
ApacheStruts 2.5.12 及以上版本已经发布 Commons FileUpload 新版本,因此并不受影响。
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/122496.html