Sanic: HTTP response header injection via missing CR/LF validation in Sanic HTTP/1.1 responses
cve-program · CVE-2026-85077
PublishedSanic 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.
Read the publisher's advisoryAffected versions, risk and source history
Related advisories and sources
Publishers link these advisories through the identifiers shown below. A shared identifier or date alone does not tell you whether your software is affected or whether the advisories describe the same cause.
CVE-2026-85077 · CVE overview and exploitation status
cve-program · CVE-2026-85077
- https://github.com/sanic-org/sanic/security/advisories/GHSA-m64h-22vf-48wm
- https://github.com/sanic-org/sanic/pull/3164
- https://github.com/sanic-org/sanic/pull/3165
- https://github.com/sanic-org/sanic/commit/47349d689d65fa1907977ac100e867894aeafb22
- https://github.com/sanic-org/sanic/commit/9a95bb1c187558949606b915f5162c15f2db781b
- https://github.com/sanic-org/sanic/commit/a332796506c7c588b6930b02a8886e43eb8ea8d6
- https://github.com/sanic-org/sanic/releases/tag/v24.12.1
- https://github.com/sanic-org/sanic/releases/tag/v25.12.1
Related changes
Linked by CVE identifierNo related changes are available here.