关键信息 漏洞标识 CVE编号: CVE-2025-54472 严重性 严重程度: 重要 影响版本 受影响版本: Apache bRPC before 1.14.1 描述 漏洞描述: 在Apache bRPC的所有版本(< 1.14.1)中,Redis协议解析器存在无限内存分配问题,允许攻击者通过网络使服务崩溃。 根因 根本原因: 在bRPC Redis协议解析器代码中,基于从网络读取的整数为数组或字符串分配相应大小的内存。如果读取的整数过大,可能会导致bad alloc错误并导致程序崩溃。攻击者可以通过发送特殊数据包来利用此特性,对bRPC服务进行拒绝服务攻击。 修复尝试: bRPC 1.14.0版本尝试通过限制内存分配大小来修复此问题,但限制检查代码实现不当,可能导致整数溢出并绕过限制。 影响场景 受影响场景: 使用bRPC作为Redis服务器向不受信任的客户端提供网络服务,或使用bRPC作为Redis客户端调用不受信任的Redis服务。 修复方法 1. 升级bRPC到版本1.14.1。 2. 手动应用补丁: https://github.com/apache/brpc/pull/3050。 注意事项 内存限制: 补丁限制了每次在bRPC Redis解析器中分配的最大内存长度,默认限制为64M。如果某些redis请求或响应的大小大于64M,升级后可能会遇到错误。在这种情况下,可以修改gflag 以设置更大的限制。 报告人 报告人: Tyler Zars 参考链接 https://brpc.apache.org https://www.cve.org/CVERecord?id=CVE-2025-54472