CVE-2026-22779

BlackSheep, White Noise: Breaking the HTTP Client with CRLF Injection

Amit Schendel
Amit Schendel
Senior Security Researcher

Jan 14, 2026·7 min read·6 visits

Executive Summary (TL;DR)

BlackSheep's `ClientSession` trusted user input a little too much. By failing to strip Carriage Return and Line Feed characters from headers and URLs, the framework allowed attackers to rewrite HTTP requests on the wire. This could lead to Header Injection, Request Splitting, and general protocol anarchy.

A deep dive into how the BlackSheep Python web framework's HTTP client failed to sanitize input, allowing attackers to inject headers and split requests via classic CRLF injection.

Fix Analysis (1)

Technical Appendix

CVSS Score
6.3/ 10
CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:N/VI:N/VA:N/SC:L/SI:L/SA:N
EPSS Probability
0.04%
Top 100% most exploited

Affected Systems

BlackSheep Web Framework (Python)Applications using BlackSheep.ClientSessionMicroservices relying on BlackSheep for HTTP proxying

Affected Versions Detail

Product
Affected Versions
Fixed Version
BlackSheep
Neoteroi
< 2.4.62.4.6
AttributeDetail
CWE IDCWE-113 (CRLF Injection)
CVSS v4.06.3 (Medium)
Attack VectorNetwork
VendorNeoteroi
Fix Commitbd4ecb9542b5d52442276b5a6907931b90f38d12
Exploit StatusPoC Available / Logic Flaw
CWE-113
Improper Neutralization of CRLF Sequences in HTTP Headers

The product does not neutralize or incorrectly neutralizes CR and LF characters in HTTP headers.

Vulnerability Timeline

Fix committed by maintainer
2026-01-13
Public disclosure and GHSA published
2026-01-14
Version 2.4.6 released to PyPI
2026-01-14

Subscribe to updates

Get the latest CVE analysis reports delivered to your inbox.