0x00 前言
Spring是Java EE编程领域的一个轻量级开源框架。
Spring 框架的核心特性是可以用于开发任何 Java 应用程序,但是在 Java EE 平台上构建 web 应用程序是需要扩展的。
Spring 框架的目标是使 J2EE 开发变得更容易使用,通过启用基于 POJO 的编程模型来促进良好的编程实践。
0x01 漏洞描述
受影响版本中,由于 UriComponentsBuilder 处理URL时未正确过滤用户信息中的方括号 `[` ,攻击者可构造包含方括号的恶意URL绕过主机名验证。
当应用程序使用UriComponentsBuilder.fromUriString()来解析外部提供的URL(如通过查询参数)并对解析的URL的主机执行验证检查时可能容易受到Open重定向攻击和SSRF攻击,导致网络钓鱼和内部网络探测等。
0x02 CVE编号
CVE-2024-22243
0x03 影响版本
Spring Framework 6.1.0 - 6.1.3
Spring Framework 6.0.0 - 6.0.16
Spring Framework 5.3.0 - 5.3.31
以及不受支持的旧版本。
0x04 漏洞详情(来源于网络)
https://github.com/threedr3am/learnjavabug/commit/65a6bd4f72c985b4f31821a732e7da39050910ac
0x05 参考链接
https://spring.io/security/cve-2024-22243
https://github.com/spring-projects/spring-framework/commit/7ec5c994c147f0e168149498b1c9d4a249d69e87