Apache Seata Fury白名单绕过漏洞CVE-2025-53606
Apache Seata 是一款开源分布式事务解决方案,主要面向微服务架构,致力于在微服务架构下提供高性能和简单易用的分布式事务服务。
一、基本情况
Apache Seata 提供了完整的分布式事务解决方案,包括AT、TCC、Saga和XA事务模式,该产品能够支持多种编程语言和数据存储方案。
Seata优势在于具有高可用性、高性能、高扩展性,同时在进行横向扩展时也无需额外复杂操作,提供简便易用的API及丰富文档和示例。
栋科技漏洞库关注到Apache Seata Fury中存在一个反序列化白名单绕过漏洞,漏洞被追踪为CVE-2025-53606,漏洞的CVSS 3.1评分9.8。
二、漏洞分析
CVE-2025-53606漏洞是Apache Seata Fury受影响版本中存在的高危漏洞,该漏洞可导致在Apache Seata服务器中反序列化不可信数据。
具体来说,受影响版本中,Seata 使用 Fury 序列化框架时,其白名单校验机制存在缺陷。
在 FurySerializerFactory 类中,代码通过如下方式对反序列化的类名进行白名单精确字符串匹配:
className -> SerializerSecurityRegistry.getAllowClassPattern().contains(className)
这使得攻击者可通过构造如下数组类型等特殊类名绕过白名单限制,进而反序列化非预期的类。
(如 [Lcom.example.DangerousClass; 假设com.example.DangerousClass;为白名单类)
官方在修复版本中通过引入并启用 Fury 框架内置的 AllowListChecker 来强化安全校验。
代码变更为使用 new AllowListChecker(AllowListChecker.CheckLevel.STRICT) 创建一个严格模式的检查器,
它能够对包括数组元素、泛型参数在内的类型进行递归检查,从而防止因白名单校验不当而引发的反序列化风险。
三、影响范围
Apache Seata <= 2.4.0
四、修复建议
Apache Seata <= 2.5.0
五、参考链接
