Skip to content

Conversation

@pajod
Copy link
Owner

@pajod pajod commented Apr 8, 2025

This contains only publicly documented security-sensitive parser issues in Gunicorn 23.0.0

This PR is meant to simplify testing patches and gather feedback on edge cases until decisions are made upstream.

pajod added 7 commits April 7, 2025 16:32
Has special syntax and meaning for proxies, neither of which we fully
implement, possibly confusing proxies.
being strict about how to parse the T-E header (if in doubt, refuse)
avoids security implications of non-compliant HTTP proxies
as python url parser is not strict, something inside the url might be
sufficient for framing disagreements with HTTP proxies
demand case-insensitive match of duplicate headers,
 or host header sent in url with absolute-form target

UNFINISHED:
This patch is not compliant with
https://datatracker.ietf.org/doc/html/rfc9112#section-3.2.2-6

"When a proxy receives a request with an absolute-form of request-target, the proxy MUST ignore the received Host header field (if any) and instead replace it with the host information of the request-target."
@pajod pajod force-pushed the gunicorn23-security branch from 38b728b to d2033b0 Compare April 8, 2025 16:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants