Repository navigation
[🐸 Frogbot] Update version of github.com/klauspost/compress to 1.19.2-0.20260721100123-117430d3b0e3 - #1488
Open
github-actions[bot] wants to merge 1 commit into
Conversation
|
Important Review skippedBot user detected. To trigger a single review, invoke the ⚙️ Run configuration
You can disable this status message by setting the Use the checkbox below for a quick retry:
Comment |
This branch has not been deployed
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.
📦 Vulnerable Dependencies
High
1 Direct
github.com/klauspost/compress:1.18.61 Transitive
github.com/klauspost/compress:1.18.6🔖 Details
Vulnerability Details
github.com/klauspost/compress: 1.18.6 (Transitive)
Fix Version: 1.19.2-0.20260721100123-117430d3b0e3Signed Integer Overflow in s2.NewDict
Summary
A signed integer overflow vulnerability in
s2.NewDict()allows an attacker to bypass repeat index validation by supplying a dictionary with a uvarint-encoded repeat value exceedingMaxInt64. WhenDict.Encode()is subsequently called, the overflowed negative repeat value causes an out-of-bounds memory access viaunsafe.Pointerarithmetic, crashing the process with SIGSEGV.Package
github.com/klauspost/compress/s2NewDictfunction)Severity
High (7.5) — CVSS v3.1:
AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:HVulnerability
Type
Description
The
NewDict()function reads a uvarint from dictionary data and converts it toint:When
rexceedsMaxInt64(9223372036854775807),int(r)overflows to a negative value. Since a negative number is never greater than a positive length, the validation check is bypassed.When
Dict.Encode()is called, the negativerepeatvalue causes an integer overflow inencodeBlockDictGo():load32callsle.Load32which usesunsafe.Pointerarithmetic without bounds checking:This causes a segmentation fault (SIGSEGV) when the negative index is dereferenced.
PoC
Impact
Attack Vector
Any application that:
s2.NewDict()Dict.Encode()on any data ≥32 bytesSuggested Fix
Validate the uvarint value before converting to int:
Or use
uintfor the repeat field and validate againstuint(len(dict)).References
s2/dict.golines 59-61 (vulnerability),s2/encode_all.goline 947 (crash site)Credits
Christopher Linke / https://github.com/celinke97/
🐸 JFrog Frogbot