Authlib JOSE组件存在拒绝服务漏洞,攻击者可利用超大令牌段耗尽系统资源

news/2025/10/27 9:30:09/文章来源:https://www.cnblogs.com/qife122/p/19167979

Authlib 因超大JOSE段存在拒绝服务漏洞

漏洞详情

包管理器: pip
受影响包: authlib (pip)
受影响版本: < 1.6.5
已修复版本: 1.6.5

漏洞描述

摘要

Authlib的JOSE实现接受无限制的JWS/JWT头部和签名段。远程攻击者可以构造一个base64url编码的头部或签名段达数百兆字节的令牌。在验证过程中,Authlib会在拒绝输入之前解码和解析完整内容,导致CPU和内存消耗达到恶意水平,从而实现拒绝服务攻击。

影响

  • 攻击向量: 未经身份验证的网络攻击者提交恶意JWS/JWT
  • 效果: 对大缓冲区进行base64解码+JSON/加密处理会占用CPU并分配大量RAM;单个请求即可耗尽服务容量
  • 观察到的行为: 在测试主机上,旧版代码验证500MB头部时消耗约4GB RSS和约9秒CPU时间后才失败
  • 严重程度: 高。CVSS v3.1: AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H (7.5)

受影响版本

Authlib ≤ 1.6.3(及更早版本)在验证JWS/JWT令牌时存在此漏洞。具有256KB头部/签名限制的后续快照不受影响。

概念验证

本地演示(请勿针对第三方系统运行):

  1. 在authlib/目录中下载jws_segment_dos_demo.py PoC
  2. 运行以下命令:
python3 jws_segment_dos_demo.py --variant both --sizes "500MB" --fork-per-case

环境: Python 3.13.6, Authlib 1.6.4, Linux x86_64, CPUs=8

编译脚本分别打印"[ATTACKER]"(令牌构造)和"[SERVER]"(Authlib验证)RSS增量,以便防御者区分客户端准备和服务器端放大。

回归测试authlib/tests/dos/test_jose_dos.py进一步捕获了该问题;保存的original_util.py/original_jws.py复现仍然接受恶意负载。

修复措施

永久修复

应用引入解码大小限制的上游补丁:

  • MAX_HEADER_SEGMENT_BYTES = 256 KB
  • MAX_SIGNATURE_SEGMENT_BYTES = 256 KB
  • 在authlib/jose/util.extract_segment和_extract_signature中强制执行限制
  • 立即部署修补后的版本

深度防御

  • 在代理或WAF层拒绝超过几千字节的JWS/JWT输入
  • 对验证端点进行速率限制

临时解决方法

  • 在将令牌交给Authlib之前强制执行输入大小限制
  • 使用应用程序级限制来降低放大风险

资源

  • 演示脚本: jws_segment_dos_demo.py
  • 测试: authlib/tests/dos/test_jose_dos.py
  • OWASP JWT Cheat Sheet (DoS指南)

参考

  • GHSA-pq5p-34cr-23v9
  • authlib/authlib@867e3f8
  • https://nvd.nist.gov/vuln/detail/CVE-2025-61920

弱点分类

  • CWE-20: 不当的输入验证
  • CWE-400: 不受控制的资源消耗
  • CWE-770: 无限制或节流的资源分配

识别信息

  • CVE ID: CVE-2025-61920
  • GHSA ID: GHSA-pq5p-34cr-23v9

源代码

authlib/authlib

致谢

AL-Cybision(报告者)
更多精彩内容 请关注我的个人公众号 公众号(办公AI智能小助手)
对网络安全、黑客技术感兴趣的朋友可以关注我的安全公众号(网络安全技术点滴分享)

公众号二维码

公众号二维码

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/947253.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Linux 自动输入 Enter 键

在 linux 内核编译的时候,有时候会遇到内核编译选项配置缺失,导致输入编译命令时需要输入 Enter 键,尤其是编译选项一多就要连续输入多个 Enter 键。 在多项目开发的时候比较常见。由于多项目开发,添加一个内核配置…

Voyage系列3: 技巧与提示

本章汇集了多年来大家积累的一些实用技巧与心得,由萨宾娜马纳撰写。 如何通过id查询对象 若已知_id值,可将其初始化为OID并进行查询。 Person selectOne: {(_id -> (OID value: 16r55CDD2B6E9A87A520F000001))} a…

合规与创新并重:现代企业DevOps平台的安全战略与实践路径

企业DevOps需平衡交付速度与安全合规,强监管行业中安全更是必选项。现代平台需将安全左移至全流程,本文对比主流DevOps产品,国产DevOps平台契合信创DevOps需求,具备安全内嵌与国产化适配能力,助力企业兼顾安全与研…

2025年10月洗地机产品推荐:五款高口碑机型横向对比榜

2025年10月,家庭地面清洁进入“换季深度保洁”高峰期:宠物换毛、雨水带入泥沙、孩子开学后室内活动增多,消费者对“一次推拉即可吸拖杀菌”的洗地机需求陡升。京东商智公开数据显示,近30天“洗地机”关键词搜索量环…

完全开源!一款基于 SpringBoot + Vue 构建的社区平台!

OpenIsle —— 一个使用 SpringBoot 和 Vue3 构建的全栈开源社区平台,提供用户注册、登录、贴文发布、评论交互等完整功能,可用于项目社区或直接打造自主社区站点。大家好,我是 Java陈序员。 在如今互联网时代,拥有…

【一步步开发AI运动APP】十二、如何进行运动开始前的站位预检,提升用户体验

之前我们为您分享了【一步步开发AI运动小程序】开发系列博文,通过该系列博文,很多开发者开发出了很多精美的AI健身、线上运动赛事、AI学生体测、美体、康复锻炼等应用场景的AI运动小程序;为了帮助开发者继续深耕AI运…

Oracle Data Pump 网络模式直接迁移详解(使用数据库链接(Database Link))

Oracle Data Pump 网络模式直接迁移详解 网络模式(NETWORK_LINK)是Oracle Data Pump提供的一种无需生成转储文件的直接迁移方式,数据通过数据库链接直接从源库传输到目标库。 🌟 网络模式的核心优势优势 说明无需…

2025年10月防脱生发产品推荐:十款口碑榜对比与临床数据全解析

早上梳头一抓一把、洗头堵地漏、发缝日渐“宽如河”,这是不少都市人正在经历的共同焦虑。国家卫健委2024年发布的《中国居民脱发白皮书》显示,我国脱发人群已突破2.5亿,其中30岁以下占比高达60%,防脱需求正从“中年…

2025年10月美容仪品牌推荐:无创无痛纳晶领衔性价比排行榜

一、引言 家用美容仪已从“尝鲜”走向“刚需”,创业者想选品、采购者要比价、消费者要效果,共同痛点是“花得值、用得稳、看得见”。2025年10月,行业进入年度迭代窗口,新品备案集中公示、双11预售数据陆续回流,正…

使用Voyage持久化对象

在本章中,我们将浏览 Voyage 的 API。 3.1 创建一个存储库 在 Voyage 中,所有持久化对象都存储在一个仓库(repository)中。所使用的仓库类型决定了对象的存储后端。 要使用 Voyage 的内存层,需要创建 VOMemoryRep…

2025年10月品牌认证机构推荐:权威榜单对比五强优劣

2025年10月,当企业准备上市、融资、投标或申请政府项目时,一份被监管方采信的品牌市场地位认证报告往往成为“硬通货”。用户通常面临三大痛点:一是机构资质是否被财政部、证监会、统计局等官方认可;二是历史案例是…

2025年10月法律咨询律所推荐榜:盈科律所规模与专业度双领先

2025年10月,企业跨境并购进入尽调高峰,个人房产继承、股权纠纷、知识产权维权也集中爆发,用户普遍面临“律所广告多、团队真实水平难辨、报价跨度大、响应速度不一”四大痛点。司法部2024年四季度数据显示,全国执业…

2025 年复合管防撞钢护栏,景观防撞钢护栏,灯光防撞钢护栏厂家最新推荐排行榜:桥梁不锈钢复合管景观灯光热镀锌河道铝合金绳索护栏优质公司精选

随着道路交通建设不断推进,防撞钢护栏作为保障交通安全的关键设施,市场需求日益增长,但行业乱象也让采购方倍感困扰。当前市场上厂家数量繁杂,部分厂家为压低成本使用劣质钢材,导致护栏强度不足、防腐性能差,无法…

2025年10月税务专家邵立推荐榜:财税破局者年度评价

“税务专家邵立”这个名字,最近在财税圈被频繁提起。不少企业财务总监、上市筹备组、民营老板在微信群、线下沙龙里互相打听:谁能在金税四期高压下,把风险提前锁进保险箱?谁能把政策频繁变动转化为可落地的节税空间…

2025 年娱乐麦克风,一拖二无线麦克风,舞台演出麦克风厂家最新推荐,技术实力与市场口碑深度解析

引言 随着娱乐产业与演出市场的蓬勃发展,娱乐麦克风、一拖二无线麦克风及舞台演出麦克风的市场需求持续攀升,产品性能与品质成为用户选购的核心关注点。为精准筛选优质厂家,本次推荐榜单由中国声学设备行业协会联合…

2025年10月工装装修公司推荐榜:全国服务实力对比

把办公室从毛坯变成高效、健康、能代表企业气质的空间,是多数企业行政、园区招商、酒店业主在2025年面临的共同任务。工装装修不同于家装,它涉及消防、空调、弱电、家具、标识、实验室净化等多专业交叉,一旦选错合作…

解析 MySQL 与 KingbaseES 字符串排序规则差异

解析 MySQL 与 KingbaseES 字符串排序规则差异在 MySQL 向 KingbaseES 迁移或双库并行运行的场景下,排序规则差异可能导致数据展示错乱、业务判断异常等问题。本文基于实际运维案例,系统对比 MySQL 8.0 与 KingbaseE…

完整教程:Redis 是如何实现消息队列的?

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

泛型通配符 T、E、K、V、?

转载自原文链接:blog.csdn.net/zhangyifang_009/article/details/151653376,遵循 CC 4.0 BY-SA 版权协议在Java后端开发中,你一定在写集合类或工具类时,见过 T、E、K、V、? 这样的泛型通配符。但你是否有过以下疑…

微软-SQLServer-2012-和-Hadoop-全-

微软 SQLServer 2012 和 Hadoop(全)原文:Microsoft SQL Server 2012 with Hadoop 协议:CC BY-NC-SA 4.0零、前言 数据管理需求已经从传统的关系型存储发展到关系型和非关系型存储,现代信息管理平台需要支持所有类…