Skip to content

Auto-port 4.1: Fix parsing HTTP chunks with multiple extensions#16588

Merged
chrisvest merged 1 commit into
4.1from
auto-port-pr-16579-to-4.1
Apr 3, 2026
Merged

Auto-port 4.1: Fix parsing HTTP chunks with multiple extensions#16588
chrisvest merged 1 commit into
4.1from
auto-port-pr-16579-to-4.1

Conversation

@netty-project-bot

Copy link
Copy Markdown
Contributor

Auto-port of #16579 to 4.1
Cherry-picked commit: b2c0dfd


Motivation:
The chunk extension parsing/validation logic did not correctly account for extensions with multiple key-value pairs.

Modification:

  • Adapt parsing logic to accept the repeatability of extension key-value pairs, and that chunk extensions can end on unquoted value tokens.
  • Add tests to capture these cases.

Result:
More correct HTTP chunk extension parsing.

The tests are lifted from #16542

Motivation:
The chunk extension parsing/validation logic did not correctly account
for extensions with multiple key-value pairs.

Modification:
- Adapt parsing logic to accept the repeatability of extension key-value
pairs, and that chunk extensions can end on unquoted value tokens.
- Add tests to capture these cases.

Result:
More correct HTTP chunk extension parsing.

The tests are lifted from #16542

Co-authored-by: Norman Maurer <norman_maurer@apple.com>
(cherry picked from commit b2c0dfd)
@ClassyMan

Copy link
Copy Markdown

Please merge this patch and re-release. I am seeing that 4.1.132.Final is still vulnerable.

@ClassyMan

Copy link
Copy Markdown

Please merge this patch and re-release. I am seeing that 4.1.132.Final is still vulnerable.

Ignore me, it's still possible to pipeline, but not to smuggle. Should be fine. My apologies.

@chrisvest chrisvest added this to the 4.1.133.Final milestone Apr 3, 2026
@chrisvest chrisvest merged commit 0841072 into 4.1 Apr 3, 2026
19 checks passed
@chrisvest chrisvest deleted the auto-port-pr-16579-to-4.1 branch April 3, 2026 23:09
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.

3 participants