Repository navigation
[backport camel-4.22.x] CAMEL-25704: camel-undertow - refuse a request target or header value with control characters - #28065
Conversation
…t target or header value with control characters
|
🌟 Thank you for your contribution to the Apache Camel project! 🌟 🐫 Apache Camel Committers, please review the following items:
|
|
🧪 CI tested the following changed modules:
🔬 Scalpel shadow comparison — Scalpel: 39 tested, 28 compile-only — current: 38 all testedMaveniverse Scalpel detected 67 affected modules (current approach: 38).
|
gnodet-bot
left a comment
There was a problem hiding this comment.
LGTM. No issues found.
Clean security backport of #27944 to camel-4.22.x. The UndertowHelper.checkWriteable validation is correct per RFC 7230: rejects CR, LF, NUL, DEL, and chars above 0xFF (which Undertow would otherwise narrow to a different single byte), while correctly allowing SP, HTAB, and obs-text (0x80–0xFF). Exception propagation through both try-catch blocks in UndertowProducer is sound. Test coverage is thorough. Upgrade guide placed in the correct 4.22 document.
This review was generated by an AI agent, Hermès on behalf of @gnodet.
davsclaus
left a comment
There was a problem hiding this comment.
Thanks @gnodet. The code is a straight port of #27944: the changes to UndertowHelper, UndertowProducer, DefaultUndertowHttpBinding and UndertowProducerEncodedUriTest are identical to the main commit, and CI is green.
One thing about the upgrade guide note (inline): it is appended at the end of camel-4x-upgrade-guide-4_22.adoc, which puts it under "Upgrading Camel 4.21 to 4.22" instead of a new "Upgrading from 4.22.2 to 4.22.3" section. The project keeps the notes for maintenance releases in the guides on main (CLAUDE.md: "For backported changes, the upgrade guide entry must be added on the main branch"), as @oscerd does for the other camel-4.22.x ports this week (#28052, #28055). Could the doc change be dropped from this backport, and the note added to camel-4x-upgrade-guide-4_22.adoc on main under "Upgrading from 4.22.2 to 4.22.3" instead (or folded into #28052 / #28055, which already add that section)?
Claude Code on behalf of Claus Ibsen
| now committed again. Only the forced shutdown after the timeout marks the in-flight transacted exchanges for rollback; | ||
| with `shutdownNowOnTimeout=false` there is no forced shutdown, so an exchange completing after the timeout is committed. | ||
|
|
||
| === camel-undertow - the producer refuses a request target or header value with control characters |
There was a problem hiding this comment.
This lands under "Upgrading Camel 4.21 to 4.22", the oldest section of the file. The note belongs under "Upgrading from 4.22.2 to 4.22.3", in the guide on main rather than on camel-4.22.x.
Backport of #27944
Cherry-pick of dad7b54 to camel-4.22.x.
Conflicts resolved automatically by backport bot agent.