Http4k已发布更新修复CVE-2024-55875漏洞
http4k是完全用Kotlin编写的HTTP工具包,旨在以函数式和一致的方式服务于和消费HTTP服务,适合追求高效、简洁和可测试性开发者。
http4k核心库http4k-core提供了基础的HTTP实现,并基于 JDK 类提供服务器和客户端的实现,因此而言http4k的应用场景非常非常广泛。
一、基本情况
http4k的核心理念是将HTTP应用程序视为简单的Kotlin函数,从而简化了服务的创建和维护,模块化的设计不仅轻量级,而且高度可扩展。
http4k是用于Kotlin HTTP应用程序的功能性工具包,通过各种附加模块,扩展了服务器、客户端、无服务器、模板和 WebSocket 等功能。
栋科技漏洞库关注到http4k受影响版本在处理请求中的恶意XML内容时存在潜在XXE(XML外部实体注入)漏洞,追踪CVE-2024-55875。
二、漏洞分析
CVE-2024-55875漏洞是在5.41.0.0之前的版本中,当http4k处理请求中的恶意XML内容时,存在的潜在XXE(XML外部实体注入)漏洞。
这一 XML 外来对象注入漏洞允许攻击者读取服务器上的本地敏感信息、触发服务器端请求伪造( SSRF),甚至在某些情况下执行代码。
该漏洞已在5.41.0.0版本中修复,该版本包含针对该问题的修补程序,该漏洞的具体位置如下:
http4k/core/format/xml/src/main/kotlin/org/http4k/format/Xml.kt
Lines 42 to 46 in 25696df
fun String.asXmlDocument(): Document =
DocumentBuilderFactory
.newInstance()
.newDocumentBuilder()
.parse(byteInputStream())
三、POC概念验证
1、易受攻击的服务器代码示例:
抱歉访问受限,免费注册为本站会员即可正常访问
2、Maven 依赖:
抱歉访问受限,免费注册为本站会员即可正常访问
3、利用有效负载示例来触发 SSRF
抱歉访问受限,免费注册为本站会员即可正常访问
四、影响范围
http4k <= 5.40.0.0
http4k <= 4.49.0.0
五、修复建议
http4k >= 5.41.0.0
http4k >= 4.50.0.0
六、参考链接