Authlib JWE解压炸弹漏洞分析:防御DoS攻击的关键措施

Authlib Python库在1.6.5之前版本存在JWE zip=DEF无限解压漏洞,小型密文可膨胀至数百MB导致内存耗尽,本文详细分析漏洞机理及修复方案。

概述

CVE-2025-62706 - Authlib:JWE zip=DEF解压炸弹导致拒绝服务攻击

漏洞描述

Authlib是一个用于构建OAuth和OpenID Connect服务器的Python库。在1.6.5版本之前,Authlib的JWE zip=DEF路径执行无限制的DEFLATE解压操作。极小的密文在解密时可膨胀至数十或数百MB,使得能够提供可解密令牌的攻击者可以耗尽内存和CPU资源,导致拒绝服务。

此问题已在1.6.5版本中修复。针对此问题的临时解决方案包括:在应用程序边界拒绝或剥离传入JWE的zip=DEF参数;通过分叉并添加有界解压保护(使用decompressobj().decompress(data, MAX_SIZE)),在输出超过安全限制时返回错误;强制执行严格的令牌大小限制并对过大的输入快速失败;结合速率限制措施。

技术详情

  • 发布日期:2025年10月22日 晚上10:15
  • 最后修改:2025年10月22日 晚上10:15
  • 远程利用:是
  • 数据来源:security-advisories@github.com

CVSS评分

评分:6.5(中危) 版本:CVSS 3.1 严重性:中危 可利用性评分:2.8 影响评分:3.6

解决方案

  • 升级Authlib至1.6.5或更高版本
  • 拒绝或剥离传入JWE的zip=DEF参数
  • 强制执行严格的令牌大小限制
  • 实施速率限制

公共PoC/漏洞利用

GitHub上有1个公开的PoC/漏洞利用可用。

相关参考

CWE关联

  • CWE-400:不受控制的资源消耗
  • CWE-770:无限制或节流的资源分配

CAPEC攻击模式

相关攻击模式包括:

  • CAPEC-147:XML死亡之ping
  • CAPEC-227:持续客户端参与
  • CAPEC-492:正则表达式指数爆炸
  • CAPEC-125:泛洪攻击
  • CAPEC-130:过度分配
  • CAPEC-197:指数数据扩展
  • CAPEC-229:序列化数据参数膨胀
  • 以及其他多种资源耗尽攻击模式

漏洞时间线

2025年10月22日 - 收到来自security-advisories@github.com的新CVE报告,添加了漏洞描述、CVSS v3.1评分、CWE分类和相关参考链接。

comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计