首页 网络安全 正文
  • 本文约1576字,阅读需8分钟
  • 14
  • 0

Litestar框架中的速率限制漏洞CVE-2025-59152

摘要

栋科技漏洞库关注到Litestar受影响版本通过操作X-Forwarded-For头部完全绕过速率限制,追踪为CVE-2025-59152,CVSS 3.X评分7.5。

Litestar是Python轻量级Web框架,专注于高性能、易用性和灵活性,适用于快速开发小型项目或原型验证,支持插件机制和自定义扩展。

Litestar异步服务器网关接口(ASGI)框架,采用微内核架构,冗余功能,依赖少,资源消耗低,支持异步处理、CORS配置、依赖注入。

一、基本情况

Litestar是一个高性能Python Web框架,注重于开发者体验,提供功能强大的企业级特性,它是一个基于Python的现代化ASGI Web框架。

Litestar专注于高性能,更致力于提供出色的开发者体验,框架的核心架构基于面向对象的设计理念,以类控制器为中心,兼容函数式端点。

Litestar框架中的速率限制漏洞CVE-2025-59152

Litestar框架提供诸如依赖注入、ORM集成、观测性支持、缓存及OpenAPI文档等功能,为构建复杂的Web应用提供便捷、高效解决方案。

栋科技漏洞库关注到Litestar受影响版本通过操作X-Forwarded-For头部完全绕过速率限制,追踪为CVE-2025-59152,CVSS 3.X评分7.5。

二、漏洞分析

CVE-2025-59152漏洞是位于 Litestar 版本2.17.0中,通过操作X-Forwarded-For头部可以完全绕过速率限制的漏洞,漏洞的评分相对较高。

测试Litestar的RateLimitMiddleware时,通过操纵X-Forwarded-For标头可以完全绕过速率限制,使得基于IP的速率限制对确定攻击者无效。

Litestar的RateLimitMiddleware使用cache_key_from_request()来生成用于速率限制的缓存密钥。

X-Forwarded-For标头存在时,中间件无条件信任它,并将其值用作客户端标识符的一部分。

由于客户端可以设置任意的X-Forwarded-For值,因此每个不同的伪造IP都会创建一个单独的速率限制桶。

攻击者可以旋转不同的标头值,以避免达到任何单个bucket的限制。

该漏洞影响到使用RateLimitMiddleware默认设置的任何Litestar应用程序,这可能包括大多数实现了速率限制的应用程序。

查看litestar/middleware/rate_limit.py中第127行附近的相关代码,没有验证代理标头或受信任代理的配置。

漏洞潜在风险包括:

暴力保护绕过:受速率限制保护的身份验证端点容易受到凭据填充攻击。攻击者可以从单一来源尝试数千种登录组合。

API滥用:依靠限制费率来预防滥用的公共原料药可以不受限制地被刮或敲打。

资源耗尽:虽然不是传统的DoS,但绕过速率限制的能力意味着攻击者可以消耗比预期更多的服务器资源。

这个问题有问题,因为许多开发人员在开发过程中或在容器化环境中直接部署Litestar应用程序(不在代理后面),使这个攻击向量可访问。

三、POC概念验证

1、这是一个最小的测试用例

Litestar版本:2.17.0

Python:3.11

管理员已设置登录后刷新可查看

2、测试旁路

管理员已设置登录后刷新可查看

四、影响范围

Litestar <= 2.17.0

五、修复建议

Litestar >= 2.18.0

六、参考链接

https://github.com/litestar-org/litestar/blob/26f20ac6c52de2b4bf81161f7560c8bb4af6f382/litestar/middleware/rate_limit.py#L127

https://github.com/litestar-org/litestar/commit/42a89e043e50b515f8548a93954fe143f63cf9fb

https://github.com/litestar-org/litestar/security/advisories/GHSA-hm36-ffrh-c77c    



扫描二维码,在手机上阅读
评论
更换验证码
友情链接