近日,开源网安 SourceCheck 软件成分分析工具监测发现 Apache 官方发布了 Apache Struts2 的风险通告,漏洞编号为 CVE-2021-31805,漏洞等级:高危,漏洞评分:8.5。
Apache Struts2 是一个用于开发Java EE网络应用程序的开放源代码网页应用程序架构。它利用并延伸了 Java Servlet API,鼓励开发者采用MVC架构。
对此,开源网安 SourceCheck 建议广大用户及时将 Apache Struts2 升级到最新版本。与此同时,请做好资产自查以及预防工作,以免遭受黑客攻击。
二、评估威胁
漏洞 名称 | Apache Struts2 远程代码执 |
漏洞 等级 | 高危 |
CVE 编号 | CVE-2021-31805 |
影响 版本 | Struts2 2.0.0 ~ Struts2 2.5.29 |
安全 版本 | Struts2>=2.5.30 |
纰漏 时间 | 2022-04-12 |
可通过设置所有标签中 value="" 来缓解此漏洞;
将org.apache.commons.collection.BeanMap 添加至 excludedClasses 黑名单中。
开源组件安全及合规管理平台(SourceCheck)是开源网安自主研发的软件成分分析 SCA 产品,用于第三方组件安全管控,包括企业组件使用管理、组件使用合规性审计、新漏洞感知预警、开源代码知识产权审计等,支持对源码及发布包检测,是OWASP Top 10 中“使用含有已知漏洞的组件”安全风险的最佳解决方案。
目前 SourceCheck 可以通过对应用包的检测,快速识别应用是否存在 CVE-2021-31805 漏洞,欢迎使用。
1. 创建应用。如下图所示,选择需要添加应用的项目。
2. 检测应用。添加成功应用后,点击检测。检测完成后在应用列表中展示该应用的检测结果,同时可以看到开源组件使用情况。
3. 结果查看。进入应用,可以看到组件信息、漏洞信息、许可信息等其他相关信息。在组件信息中可以看到应用Struts2中通过配置文件方式引入了struts2-core-2.5.29版本,该本版存在高危漏洞。
4. 查看漏洞信息,可以看到应用struts2中存在CVE-2021-31805漏洞,在SourceCheck中编号为SZ-2021-41542。
5. 漏洞详情。点击CVE-2021-31805,可以查看详细的漏洞情况及修复方式等信息。
至此,可以看到开源网安 SourceCheck 可实现自动化、无感知地对企业级软件资产信息进行收集与管理,使软件资产分布可视化;并提供软件资产跟踪定位和管控、新漏洞的自检和预警,以及对自研组件和程序代码的许可合规性进行检测。
企业管理人员必须形成共识,安全问题不仅是安全部门和安全人员的事情,在软件开发正向着“快速迭代、快速开发、快速交付”的发展趋势下,开发团队与测试、运维和业务部门之间的关系,也应该打破原有的隔阂,实现安全左移。安全左移,就是要在软件开发全生命周期解决安全问题,而不是在软件上线之后进行安全维护。
这一理念的实质内容是,从需求导入、代码审计、开发测试到部署上线,安全需要持续存在以及发挥能效,且安全资源完成软件化、组件化、服务化改造,以便结合自动化手段,实现从代码到应用的全流程安全介入,这样才能有效防控开源组件风险,增强业务应用的安全性。
开源网安作为国内领先的软件安全全生命周期解决方案提供商,未来我们将继续秉承“捍卫中国软件安全”的核心理念,通过“软件安全开发流程+自动化安全测试工具+培训服务”三大抓手,弥合开发与安全的鸿沟,帮助企业提升软件的安全与质量,为中国软件安全保驾护航。