fix(deps): update dependency io.netty:netty-codec to v4.1.133.final [security]#235
Merged
Merged
Conversation
Reviewer's guide (collapsed on small PRs)审阅者指南更新 Gradle 构建,使整个项目强制使用 io.netty:netty-codec 4.1.133.Final,以解决安全漏洞,同时保持其他 Netty 模块现有的固定版本不变。 文件级变更
Tips and commands与 Sourcery 交互
自定义你的体验访问你的 dashboard 来:
获取帮助Original review guide in EnglishReviewer's guide (collapsed on small PRs)Reviewer's GuideUpdates the Gradle build to force io.netty:netty-codec 4.1.133.Final across the project to address a security vulnerability while keeping other Netty modules at their existing pinned versions. File-Level Changes
Tips and commandsInteracting with Sourcery
Customizing Your ExperienceAccess your dashboard to:
Getting Help
|
695eeac to
5f005ee
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
4.1.125.Final→4.1.133.FinalNetty Lz4FrameDecoder is vulnerable to resource exhaustion
CVE-2026-42583 / GHSA-mj4r-2hfc-f8p6
More information
Details
Summary
Lz4FrameDecoder allocates a ByteBuf of size
decompressedLength(up to 32 MB per block) before LZ4 runs. A peer only needs a 21-byte header pluscompressedLengthpayload bytes - 22 bytes ifcompressedLength == 1- to force that allocation.Details
io.netty.handler.codec.compression.Lz4FrameDecoder#decode
Header fields are trusted for sizing. On the compressed path, after
readableBytes >= compressedLength, the decoder doesctx.alloc().buffer(decompressedLength, decompressedLength)then decompresses.PoC
The test below demonstrates how an attacker sending 22 bytes will force the server to allocate 32MB
Impact
Untrusted senders without per-channel / aggregate limits can stress memory with many small requests.
Severity
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:HReferences
This data is provided by OSV and the GitHub Advisory Database (CC-BY 4.0).
Configuration
📅 Schedule: (UTC)
🚦 Automerge: Enabled.
♻ Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR has been generated by Mend Renovate.