Skip to content

HttpObjectDecoder skips arbitrary initial control characters when only initial CRLF characters are permitted#16861

Merged
normanmaurer merged 1 commit into
4.1from
h1_41
Jun 1, 2026
Merged

HttpObjectDecoder skips arbitrary initial control characters when only initial CRLF characters are permitted#16861
normanmaurer merged 1 commit into
4.1from
h1_41

Conversation

@normanmaurer
Copy link
Copy Markdown
Member

Motivation:
RFC 9112 permit empty lines (CR LF sequences) prior to the request line, but we were skipping over any ISO control characters.
This is parsing leniency beyond what the standard mandates and can be a security liability.

Modification:
Expand the scope of the "strict line parsing" decoder configuration option to also include enforcing that any octets prior to the initial line can only be the line separators CR LF.

Result:
Strict line parsing covers more cases.

…y initial CRLF characters are permitted

Motivation:
RFC 9112 permit empty lines (CR LF sequences) prior to the request line, but we were skipping over any ISO control characters.
This is parsing leniency beyond what the standard mandates and can be a security liability.

Modification:
Expand the scope of the "strict line parsing" decoder configuration option to also include enforcing that any octets prior to the initial line can only be the line separators CR LF.

Result:
Strict line parsing covers more cases.
@normanmaurer normanmaurer added needs-cherry-pick-4.1 This PR should be cherry-picked to 4.1 once merged. needs-cherry-pick-5.0 This PR should be cherry-picked to 5.0 once merged. and removed needs-cherry-pick-4.1 This PR should be cherry-picked to 4.1 once merged. labels Jun 1, 2026
@normanmaurer normanmaurer merged commit aa0cae5 into 4.1 Jun 1, 2026
20 of 21 checks passed
@normanmaurer normanmaurer deleted the h1_41 branch June 1, 2026 14:03
@netty-project-bot
Copy link
Copy Markdown
Contributor

Could not create auto-port PR.
Got conflicts when cherry-picking onto 5.0.

@normanmaurer
Copy link
Copy Markdown
Member Author

PR for 5.0 #16863

normanmaurer added a commit that referenced this pull request Jun 1, 2026
…y initial CRLF characters are permitted (#16861)

Motivation:
RFC 9112 permit empty lines (CR LF sequences) prior to the request line,
but we were skipping over any ISO control characters.
This is parsing leniency beyond what the standard mandates and can be a
security liability.

Modification:
Expand the scope of the "strict line parsing" decoder configuration
option to also include enforcing that any octets prior to the initial
line can only be the line separators CR LF.

Result:
Strict line parsing covers more cases.

Co-authored-by: Chris Vest <[email protected]>
normanmaurer added a commit that referenced this pull request Jun 1, 2026
…y initial CRLF characters are permitted (#16861) (#16863)

Motivation:
RFC 9112 permit empty lines (CR LF sequences) prior to the request line,
but we were skipping over any ISO control characters.
This is parsing leniency beyond what the standard mandates and can be a
security liability.

Modification:
Expand the scope of the "strict line parsing" decoder configuration
option to also include enforcing that any octets prior to the initial
line can only be the line separators CR LF.

Result:
Strict line parsing covers more cases.

Co-authored-by: Chris Vest <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

needs-cherry-pick-5.0 This PR should be cherry-picked to 5.0 once merged.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants