# BlackSheep ClientSession CRLF注入漏洞
## 概述
BlackSheep 是一个用于构建基于事件的异步 Web 应用的 Python 框架。在版本 2.4.6 之前,其 HTTP 客户端存在 CRLF 注入漏洞。
## 影响版本
受影响版本:低于 2.4.6 的 BlackSheep。
## 细节
漏洞位于 HTTP 客户端实现中,由于缺少对 headers 的有效验证,攻击者可利用 CRLF 字符注入恶意内容。若开发者将未经清理的用户输入直接用于设置请求头,攻击者可借此插入新头字段或构造完整的伪造 HTTP 请求。
## 影响
- 可能导致请求头篡改或伪造新的 HTTP 请求。
- 服务器端不受影响,因响应头由底层 ASGI 服务器处理。
- 漏洞利用前提是开发者将用户输入直接用于 headers。
- 该问题已在 2.4.6 版本中修复。
是否为 Web 类漏洞: 未知
判断理由:
| # | POC 描述 | 源链接 | 神龙链接 |
|---|
标题: Release v2.4.6 · Neoteroi/BlackSheep · GitHub -- 🔗来源链接
标签:x_refsource_MISC
神龙速读:
- **CRLF Injection Vulnerability Fixed**:
- The primary vulnerability mentioned is a **CRLF injection vulnerability** found in the BlackSheep HTTP Client.
- The vulnerability was reported by Jinho Ju (@tr4ce-ju).
- This specific issue was addressed in version **v2.4.6**.
- **Security File Addition**:
- A **SECURITY.md** file has been added to the repository, likely to outline updated security practices and policies.
- **Cookie Handling Security Update**:
- Modifications were made to how `Cookie` values are represented in logs. Specifically, the `repr` method was changed so it doesn't display the full value of the cookie, preventing accidental leaking of sensitive information in logs.
- **Additional Enhancements**:
- Besides the security updates, other improvements included better type annotations for certain modules.
- Contribution from contributors like @tyzhnenko can also be noted.
标题: ClientSession is vulnerable to CRLF injection · Advisory · Neoteroi/BlackSheep · GitHub -- 🔗来源链接
标签:x_refsource_CONFIRM
神龙速读:
## 关键信息
### 漏洞概述
- **漏洞类型**: CRLF Injection
- **漏洞ID**: CVE-2026-22779
- **严重程度**: Moderate
- **影响包**: blacksheep (pip)
- **受影响版本**: < 2.4.6
- **修复版本**: 2.4.6
### 影响
- BlackSheep的HTTP客户端实现存在CRLF注入漏洞。缺少对头部的验证,使得攻击者能够修改HTTP请求(例如,插入新的头部)或创建新的HTTP请求。
- 利用此漏洞需要开发人员将未经验证的用户输入直接传递到头部。
- 服务器部分不受影响,因为BlackSheep将响应头部处理委托给底层的ASGI服务器。
### 攻击向量
- 使用用户输入进行HTTP客户端请求的应用程序(方法、URL、头部)。
### 修复措施
- 使用BlackSheep HTTP客户端的用户应升级到2.4.6版本。
### 替代方案
- 如果用户处理来自不可信方的头部,他们可能会拒绝包含回车换行的头部名称和值。
### 参考资料
- [OWASP CRLF Injection](https://owasp.org/www-community/vulnerabilities/CRLF_Injection)
标题: Merge commit from fork · Neoteroi/BlackSheep@bd4ecb9 · GitHub -- 🔗来源链接
标签:x_refsource_MISC
神龙速读:
以下是关于漏洞的关键信息:
### 关键信息
- **漏洞类型**: CRLF Injection
- **受影响的库**: `BlackSheep` HTTP Client
- **报告者**: Jinho Ju (@tr4ce-ju)
- **解决方式**:
- 在 `scribe.pyx` 和 `scribe.py` 中添加了 `_nocrlf` 函数以防止 CRLF 注入。
- 修改了 HTTP 头的写入函数 `write_header`, `write_headers` 等,以确保头名称和值都经过 `_nocrlf` 函数处理。
- 添加了测试用例 `test_write_request_prevents_crlf_injection_in_headers` 和 `test_write_request_prevents_crlf_injection_in_method` 以验证修复效果。
- **相关文件修改**:
- 更新了 `CHANGELOG.md`,补充版本 `2.4.6` 的描述。
- 添加了 `SECURITY.md`,提供了漏洞报告指引。
- 在 `scribe.pyx`、`scribe.py` 和 `scribe.pyx` 中修改了 HTTP 头和请求方法的处理方式。
- 在 `tests/test_requests.py` 中添加了针对 CRLF 注入的测试用例。
### 简要总结
本次提交修复了 `BlackSheep` HTTP Client 中的 CRLF 注入漏洞,通过在 HTTP 头和请求方法中移除 CRLF 字符,并添加了相关测试用例确保修复有效性。同时,补充了安全文档和变更日志以帮助开发者了解安全更新详情。
Zaproxy alias impedit expedita quisquam pariatur exercitationem. Nemo rerum eveniet dolores rem quia dignissimos.