Sanic: HTTP response header injection via missing CR/LF validation in Sanic HTTP/1.1 responses
21Vexday Risk Score
No sign of exploitation. No public exploitation artifact known so far.
ssvc Trackcvss 8.2epss 0.3%
exploitation probability
0.3%top 80% of all CVEs
observed exploitation
nono source reports it
Sanic is an opensource python web server/framework. Prior to version 24.12.1, and in version 25.12.0, the HTTP/1.1 response pipeline in sanic/response/types.py serializes response header names and values without rejecting carriage-return or line-feed characters. Applications that place attacker-controlled data in response.headers, file(..., filename=...), or cookie path and domain attributes can therefore emit injected headers and may split responses. Depending on application and proxy behavior, this can enable session fixation through injected cookies, cache poisoning, or security-header corruption. This issue is fixed in versions 24.12.1 and 25.12.1.
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:H/A:N
Affected products
sanic-org · sanicReferences
https://github.com/sanic-org/sanic/commit/47349d689d65fa1907977ac100e867894aeafb22https://github.com/sanic-org/sanic/commit/9a95bb1c187558949606b915f5162c15f2db781bhttps://github.com/sanic-org/sanic/commit/a332796506c7c588b6930b02a8886e43eb8ea8d6https://github.com/sanic-org/sanic/pull/3164https://github.com/sanic-org/sanic/pull/3165https://github.com/sanic-org/sanic/releases/tag/v24.12.1https://github.com/sanic-org/sanic/releases/tag/v25.12.1https://github.com/sanic-org/sanic/security/advisories/GHSA-m64h-22vf-48wm