解析!Protobuf JSON解析递归深度绕过漏洞 (CVE-2026-0994)

0 阅读1分钟

漏洞详情

CVE ID: CVE-2026-0994

严重等级: 高危 (CVSS 8.2)

影响组件: Python protobuf 包 (通过pip安装)

受影响的版本: <= 6.33.4

已修复版本: 6.33.5

漏洞描述

在Python的 google.protobuf.json_format.ParseDict() 函数中存在一个拒绝服务漏洞。当解析嵌套的 google.protobuf.Any 消息时,攻击者可以绕过 max_recursion_depth 参数设置的最大递归深度限制。

由于在内部处理 Any 消息的逻辑中缺失了对递归深度的正确计数,攻击者能够提交深度嵌套的 Any 结构数据。这些数据会绕过预期的递归限制,最终耗尽Python的递归栈资源,引发 RecursionError,从而导致服务崩溃。

技术背景与影响

  • 漏洞根因: 代码在解析特定嵌套结构(Any 消息)时,递归深度计数器未正确递增或检查,导致防护机制失效。
  • 攻击向量: 远程网络攻击者无需特殊权限,也无需用户交互即可利用此漏洞。
  • 主要影响: 可用性。攻击者可利用此漏洞导致依赖 json_format.ParseDict() 处理不可信输入的服务崩溃,实现拒绝服务攻击。
  • 关联弱点: CWE-674 (不受控制的递归)。

参考资料

解决方案

用户应立即将 protobuf 包升级至版本 6.33.5 或更高版本,以修复此漏洞。升级命令如下:

pip install --upgrade protobuf>=6.33.5
```FINISHED
glyoVzOLZA9nMhz/bDHDAWzfRfZ0dSZtQUalpUyOmxdR7OBdNhBEUjTBoqoKUr5A0d1hX5Z8eFKRd+lIS4Dctw==