CVE-2025-65015CVE-2025-65015是joserfc Python库中的一个高危安全漏洞。该库实现了多种JSON对象签名和加密(JOSE)标准。漏洞源于1.3.3至1.3.5之前版本和1.4.0至1.4.2之前版本中,ExceededSizeError异常消息未对JWT令牌部分进行适当解码处理。当攻击者发送包含超大JWT载荷的HTTP请求时,异常消息会将完整的未解码JWT内容嵌入日志中,可能导致日志系统处理极大消息,造成拒绝服务(DoS)或信息泄露风险。在生产环境中,如果Web服务器配置不当或缺少生产级防护,攻击者可利用此漏洞通过发送超大Bearer令牌触发漏洞,造成应用程序可用性下降。
漏洞核心问题在于joserfc库在处理JWT解码和claims验证时,当检测到payload大小超过限制后,会抛出ExceededSizeError异常。该异常的err_msg参数直接嵌入了完整的JWT token载荷(header.payload.signature),而这些内容在进入异常处理流程前已经被加载到内存中。攻击者可以构造超大尺寸的JWT payload(如数MB甚至更大的base64编码数据),当应用程序使用Python日志系统或集成Sentry等诊断工具时,这些超大异常消息会被记录和处理。由于payload已经完全加载到内存,库层面无法拒绝或阻止该操作。攻击者通过发送带有超大Authorization: Bearer <large_jwt>头的HTTP请求,即可触发jwt.decode()或claims验证时的异常,导致日志系统处理极大消息,消耗大量内存和CPU资源,造成服务响应缓慢或崩溃。