Skip to content

Bump netty to 4.1.137.Final to clear CVE-2025-59419 in the Flink job-server jar - #6

Merged
xinyu-liu-glean merged 1 commit into
timmy-2.73from
xinyu/netty-4.1.137-cve-2025-59419
Sep 2, 2026
Merged

Bump netty to 4.1.137.Final to clear CVE-2025-59419 in the Flink job-server jar#6
xinyu-liu-glean merged 1 commit into
timmy-2.73from
xinyu/netty-4.1.137-cve-2025-59419

Conversation

@xinyu-liu-glean

@xinyu-liu-glean xinyu-liu-glean commented Sep 2, 2026

Copy link
Copy Markdown
  • BeamModulePlugin.groovy:853 declares io.netty:netty-all, the aggregate that drags in netty-codec-smtp; at 4.1.124.Final that's CVE-2025-59419 (CRLF injection in DefaultSmtpRequest), a HIGH finding on Glean's flink-invoker image across 44 tags. Tracked as EN-1741466.
  • Bumps netty_version to 4.1.137.Final — latest 4.1.x, past the 4.1.129.Final fix, matches the netty-all pin in scio's MODULE.bazel. Upstream Beam master is on 4.1.133.Final, so this isn't ahead of what Beam tests against.
  • The [bomupgrader] marker means a future BOM sync would silently regress this, so the line carries a comment saying it's deliberately held high.
  • Verified on a rebuild of :runners:flink:2.0:job-server:shadowJar: all 31 io.netty artifacts move to 4.1.137.Final; the fix is visible in bytecode (SmtpUtils.class 835 → 2433 bytes, DefaultSmtpRequest.class 3000 → 3114); the entry-list diff vs. the deployed jar is entirely under io/netty/ (19 removed, 45 added); the jar boots and runs a real pipeline end to end.
  • Scio side: askscio/scio#282562, pointing at beam-runners-flink-2.0-job-server-2.73.0-netty-4.1.137.jar (sha256 07807c77cd9981af4a304fbadcf358b42405764ace3e076fc792cd3cb44c03dd).
  • Caveat: Flink's shaded copy (org/apache/flink/shaded/netty4/…/smtp/) comes from flink-shaded-netty and is untouched — no Maven coordinates so scanners don't flag it, and equally unreachable. The codec was never callable anyway (0 references across 158,648 classes), so this stops shipping vulnerable bytes rather than closing a live hole.

The Flink job-server fat jar bundles io.netty:netty-all, the aggregate
artifact that ships every codec including netty-codec-smtp. At
4.1.124.Final that codec carries CVE-2025-59419 (SMTP command injection
via unvalidated CRLF in DefaultSmtpRequest), which surfaces as a HIGH
finding on Glean's flink-invoker image.

4.1.137.Final is the latest 4.1.x, well past the 4.1.129.Final fix, and
matches the netty-all pin already used in scio's Java graph. Upstream
Beam master is on 4.1.133.Final, so this is not ahead of what Beam
itself tests against.

Rebuilding :runners:flink:2.0:job-server:shadowJar with this change
alters only entries under io/netty/ (19 removed, 45 added); no Beam or
Flink class changes.

Co-authored-by: Cursor <cursoragent@cursor.com>
@xinyu-liu-glean
xinyu-liu-glean merged commit 03d58ed into timmy-2.73 Sep 2, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants