Skip to content

[fix][sec] [branch-4.0] Upgrade AsyncHttpClient to 3.0.14 and Netty to 4.2.19 - #27120

Closed
Technoboy- wants to merge 2 commits into
apache:branch-4.0from
Technoboy-:fix-j1
Closed

Technoboy- wants to merge 2 commits into
apache:branch-4.0from
Technoboy-:fix-j1

Conversation

@Technoboy-

Copy link
Copy Markdown
Contributor

Motivation

For fixing the "CVE-2026-107227"

Some implementation like : MultiThreadIoEventLoopGroup to replace IOUringEventLoopGroup, PulsarFlowControlHandler are copyed from master branch.

Upgrade AsyncHttpClient and Netty Reactive Streams to 3.0.14 and 2.0.20
for the HTTP client security fixes reported in support ticket apache#5132.
Adapt Duration-based timeouts, add the HTTP/2 runtime dependency, and
migrate io_uring to the Netty 4.2 transport API.

Preserve Broker per-message auto-read throttling using the handler and
regression tests from upstream 94890cb. Add HTTPS lookup and actual
socket transport regressions, and update distribution license entries.

Raise the Java client minimum to Java 11 and remove the obsolete Java 8
integration-test profile so the published bytecode check reflects the
new dependencies' requirements.

Validation: selected reactor tests passed (145 passed, 1 io_uring skip);
all three shaded client artifacts built with bytecode enforcement;
Client/Admin startup passed on Java 11; Linux ARM64 Epoll and flow
control tests passed. Full cluster E2E was not run.
@Technoboy-
Technoboy- requested a review from lhotari October 26, 2026 09:17
@Technoboy- Technoboy- self-assigned this Oct 26, 2026
@Technoboy- Technoboy- changed the title [fix][sec] Upgrade AsyncHttpClient to 3.0.14 and Netty to 4.2.19 [fix][sec] [branch-4.2] Upgrade AsyncHttpClient to 3.0.14 and Netty to 4.2.19 Oct 26, 2026
@Technoboy- Technoboy- changed the title [fix][sec] [branch-4.2] Upgrade AsyncHttpClient to 3.0.14 and Netty to 4.2.19 [fix][sec] [branch-4.0] Upgrade AsyncHttpClient to 3.0.14 and Netty to 4.2.19 Oct 26, 2026

@lhotari lhotari left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

branch-4.0 AsyncHttpClient should be kept on 2.x and Netty on 4.1.x.
AsyncHttpClient 2.16.1 most likely already contains the fixes.
Netty 4.1.139.Final contains the same fixes as 4.2.19.Final.

Mark the recyclable flow-control queue's runtime-only handle transient
to fix SpotBugs SE_BAD_FIELD. Declare netty-common and netty-buffer as
provided dependencies for the message crypto module, and remove the
obsolete lombok.var import now that clients compile for Java 11.

Align the binary license manifests with the actual distribution: retain
BookKeeper's transitive incubator io_uring jars, update JetBrains
annotations, and remove unused legacy codec artifacts.

Validation: CI core-modules clean install with SpotBugs enabled passed;
the rebuilt server distribution passed src/check-binary-license.sh;
2 flow-control and 16 ACK-grouping tests passed.
@Technoboy-

Technoboy- commented Oct 26, 2026 •

Copy link
Copy Markdown
Contributor Author

branch-4.0 AsyncHttpClient should be kept on 2.x and Netty on 4.1.x. AsyncHttpClient 2.16.1 most likely already contains the fixes. Netty 4.1.139.Final contains the same fixes as 4.2.19.Final.

@lhotari Do you read the cve ?

@lhotari

lhotari commented Oct 26, 2026

Copy link
Copy Markdown
Member

Discussion in #27121.
There might not be blockers in upgrading since AsyncHttpClient/async-http-client#2190 has been resolved. That was a blocker at the time of #25023

@lhotari

lhotari commented Oct 26, 2026

Copy link
Copy Markdown
Member

Concern about BK while upgrading to Netty 4.2.x: #27121 (comment)

@Technoboy-

Copy link
Copy Markdown
Contributor Author

Concern about BK while upgrading to Netty 4.2.x: #27121 (comment)

ok, I see

@Technoboy- Technoboy- closed this Oct 26, 2026
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