问题描述
在 Apache Struts 库中发现了一个漏洞 ( CVE-2021-31805 )。它可能让攻击者可以对不受信任的用户输入使用强制OGNL评估,这可能导致远程代码被执行和安全性的下降。这可能会影响用于 vGPU 产品许可的旧版 vGPU 软件许可服务器产品。
有关详细信息,请参阅以下内容:
https://www.cve.org/CVERecord?id=CVE-2021-31805
https://cwiki.apache.org/confluence/display/WW/S2-062
解决方法
客户可以通过将已安装的 Struts jar 文件替换为 2.5.30 版本来降低风险,在现有许可证服务器安装上运行以下步骤:
在 Windows/Linux 系统上,请执行以下步骤:
- 如果当前的 License Server 不是最新版本,则升级到 LICENSE SERVER 2022.02版本
- 停止tomcat服务
- CD/导航到 <TOMCAT_INSTALL_DIR>/webapps/licserver/WEB-INF/lib/((对于 Windows,默认 TOMCAT_INSTALL_DIR 应该是“ C:\NVIDIA\LicenseServer\Tomcat”;对于 Linux,默认应该是 “ /usr/share/tomcat”)
- 删除文件:struts2-core.jar、struts2-tiles-plugin.jar 和 struts2-spring-plugin.jar
- 从以下链接下载 Struts-2.5.30-all.zip 文件
https://dlcdn.apache.org/struts/2.5.30/struts-2.5.30-all.zip - 解压缩 zip 文件并打开解压缩的文件夹,进入 lib 文件夹
- 将文件struts2-core-2.5.30.jar、struts2-tiles-plugin-2.5.30.jar和struts2-spring-plugin-2.5.30.jar 复制到 <TOMCAT_INSTALL_DIR>/webapps/licserver/WEB-INF/lib/
- 重命名文件
struts2-core-2.5.30.jar 重命名为 struts2-core.jar,
struts2-tiles-plugin-2.5.30.jar 重命名为 struts2-tiles-plugin.jar
struts2-spring-plugin-2.5.30.jar 重命名为 struts2-spring-plugin.jar - 启动tomcat服务。
请注意,这种替换 Struts 的解决方法仅在最新的 LICENSE SERVER 版本上进行了测试。
迁移到新版NVIDIA 许可证服务器(DLS/CLS)同样可以回避这个问题。
本文来自对官方文档的简单机翻和排版:
https://enterprise-support.nvidia.com/s/article/STRUTS-VULNERABILITY-CVE-2021-31805-FOR-LEGACY-VGPU-LICENSE-SERVER