概述
Spring Framework是一个用于构建企业级应用程序的综合性 Java 框架。它提供了一个功能强大、灵活的编程模型,可简化网络应用程序的开发,让您使用 Java 作为主要语言,同时提供各种工具来管理应用程序配置、数据访问和安全性。
在 Spring 中发现了路径遍历漏洞(CVE-2024-38816)。该漏洞允许攻击者利用应用程序对文件路径的不当处理来访问服务器上的敏感文件,从而带来数据暴露和潜在系统危害的风险。
根据OWASP:路径遍历攻击(也称为 "点-点-斜线"、"目录遍历"、"目录攀爬 "和 "回溯")旨在访问存储在网络根文件夹之外的文件和目录。通过操作使用 "点-点-斜线(.../)"序列及其变体引用文件的变量或使用绝对文件路径,可以访问存储在文件系统中的任意文件和目录,包括应用程序源代码或配置文件和关键系统文件。需要注意的是,对文件的访问受系统操作访问控制的限制(如微软视窗操作系统上锁定或使用中的文件)。
This issue affects Spring Framework versions >=5.3.0, <=5.3.39, >=6.0.0, <=6.0.23, >=6.1.0, <=6.1.12
详细信息
模块信息
- 产品Spring Framework
- 受影响的软件包:
spring-webmvc
,弹簧-网络流
- Affected versions: >= 6.1.0, < 6.1.13, >= 6.0.0, < 6.0.24, < 5.3.40
- GitHub 存储库: https://github.com/spring-projects/spring-framework
- 软件包管理器Maven
漏洞信息
在版本大于或等于 5.3.0 且小于 6.1.13 的 Spring Framework 的 spring-webmvc和 spring-webflux软件包中发现此高严重性漏洞。
该漏洞是由于通过 WebMvc.fn 或 WebFlux.fn 功能 Web 框架提供静态资源的应用程序中文件路径处理不当造成的。通过制作恶意 HTTP 请求,攻击者可利用此漏洞绕过限制,访问服务器文件系统中 Spring 应用程序所在进程可访问的文件。这可能导致未经授权访问敏感数据,带来数据泄露和系统受损的风险。
复制步骤
一旦有更多消息,我们的团队将立即更新这些步骤。
缓解
Spring Framework 5.3 不再受社区支持。社区支持版本将不会收到任何解决此问题的更新。有关详细信息,请参见此处。
受影响组件的用户应采用以下缓解措施之一:
- 将受影响的应用程序升级到受支持的 Spring Framework 版本
- 使用不支持的旧版本的用户可以在其应用程序中启用 Spring Security 防火墙,或改用 Tomcat 或 Jetty 作为 Web 服务器,因为它们会拒绝此类恶意请求
- 利用HeroDevs这样的商业支持合作伙伴提供 EOL 后的安全支持。
学分
参考资料
每当我们支持的开源软件修复了新的漏洞,我们就会发出警报。