chore(deps): update module github.com/go-jose/go-jose/v3 to v3.0.5 [security] (release-1.13)#315
Closed
phisco-renovate[bot] wants to merge 1 commit into
Conversation
Author
|
e078ffc to
26b1022
Compare
26b1022 to
805032e
Compare
805032e to
b34ae9c
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:
v3.0.0→v3.0.5Decryption of malicious PBES2 JWE objects can consume unbounded system resources
GHSA-2c7c-3mj9-8fqh / GO-2023-2334
More information
Details
The go-jose package is subject to a "billion hashes attack" causing denial-of-service when decrypting JWE inputs. This occurs when an attacker can provide a PBES2 encrypted JWE blob with a very large p2c value that, when decrypted, produces a denial-of-service.
Severity
Moderate
References
This data is provided by OSV and the GitHub Advisory Database (CC-BY 4.0).
Denial of service via decryption of malicious PBES2 JWE objects in github.com/go-jose/go-jose/v3
GHSA-2c7c-3mj9-8fqh / GO-2023-2334
More information
Details
The go-jose package is subject to a "billion hashes attack" causing denial-of-service when decrypting JWE inputs. This occurs when an attacker can provide a PBES2 encrypted JWE blob with a very large p2c value that, when decrypted, produces a denial-of-service.
Severity
Unknown
References
This data is provided by OSV and the Go Vulnerability Database (CC-BY 4.0).
Go JOSE vulnerable to Improper Handling of Highly Compressed Data (Data Amplification)
CVE-2024-28180 / GHSA-c5q2-7r4c-mv6g / GO-2024-2631
More information
Details
Impact
An attacker could send a JWE containing compressed data that used large amounts of memory and CPU when decompressed by Decrypt or DecryptMulti. Those functions now return an error if the decompressed data would exceed 250kB or 10x the compressed size (whichever is larger). Thanks to Enze Wang@Alioth and Jianjun Chen@Zhongguancun Lab (@zer0yu and @chenjj) for reporting.
Patches
The problem is fixed in the following packages and versions:
The problem will not be fixed in the following package because the package is archived:
Severity
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:LReferences
This data is provided by OSV and the GitHub Advisory Database (CC-BY 4.0).
Decompression bomb vulnerability in github.com/go-jose/go-jose
CVE-2024-28180 / GHSA-c5q2-7r4c-mv6g / GO-2024-2631
More information
Details
An attacker could send a JWE containing compressed data that used large amounts of memory and CPU when decompressed by Decrypt or DecryptMulti.
Severity
Unknown
References
This data is provided by OSV and the Go Vulnerability Database (CC-BY 4.0).
DoS in go-jose Parsing
CVE-2025-27144 / GHSA-c6gw-w398-hv78 / GO-2025-3485
More information
Details
Impact
When parsing compact JWS or JWE input, go-jose could use excessive memory. The code used strings.Split(token, ".") to split JWT tokens, which is vulnerable to excessive memory consumption when processing maliciously crafted tokens with a large number of '.' characters. An attacker could exploit this by sending numerous malformed tokens, leading to memory exhaustion and a Denial of Service.
Patches
Version 4.0.5 fixes this issue
Workarounds
Applications could pre-validate payloads passed to go-jose do not contain an excessive number of '.' characters.
References
This is the same sort of issue as in the golang.org/x/oauth2/jws package as CVE-2025-22868 and Go issue https://go.dev/issue/71490.
Severity
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:L/SC:N/SI:N/SA:NReferences
This data is provided by OSV and the GitHub Advisory Database (CC-BY 4.0).
DoS in go-jose Parsing in github.com/go-jose/go-jose
CVE-2025-27144 / GHSA-c6gw-w398-hv78 / GO-2025-3485
More information
Details
DoS in go-jose Parsing in github.com/go-jose/go-jose
Severity
Unknown
References
This data is provided by OSV and the Go Vulnerability Database (CC-BY 4.0).
Go JOSE Panics in JWE decryption
CVE-2026-34986 / GHSA-78h2-9frx-2jm8
More information
Details
Impact
Decrypting a JSON Web Encryption (JWE) object will panic if the
algfield indicates a key wrapping algorithm (one ending inKW, with the exception ofA128GCMKW,A192GCMKW, andA256GCMKW) and theencrypted_keyfield is empty. The panic happens whencipher.KeyUnwrap()inkey_wrap.goattempts to allocate a slice with a zero or negative length based on the length of theencrypted_key.This code path is reachable from
ParseEncrypted()/ParseEncryptedJSON()/ParseEncryptedCompact()followed byDecrypt()on the resulting object. Note that the parse functions take a list of accepted key algorithms. If the accepted key algorithms do not include any key wrapping algorithms, parsing will fail and the application will be unaffected.This panic is also reachable by calling
cipher.KeyUnwrap()directly with anyciphertextparameter less than 16 bytes long, but calling this function directly is less common.Panics can lead to denial of service.
Fixed In
4.1.4 and v3.0.5
Workarounds
If the list of
keyAlgorithmspassed toParseEncrypted()/ParseEncryptedJSON()/ParseEncryptedCompact()does not include key wrapping algorithms (those ending inKW), your application is unaffected.If your application uses key wrapping, you can prevalidate to the JWE objects to ensure the
encrypted_keyfield is nonempty. If your application accepts JWE Compact Serialization, apply that validation to the corresponding field of that serialization (the data between the first and second.).Thanks
Thanks to Datadog's Security team for finding this issue.
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).
Release Notes
go-jose/go-jose (github.com/go-jose/go-jose/v3)
v3.0.5Compare Source
What's Changed
Fixes GHSA-78h2-9frx-2jm8
We recommend migrating from v3 to v4, and we will stop support v3 in the near future.
Full Changelog: go-jose/go-jose@v3.0.4...v3.0.5
v3.0.4Compare Source
What's Changed
Backport fix for GHSA-c6gw-w398-hv78 CVE-2025-27144
#174
Full Changelog: go-jose/go-jose@v3.0.3...v3.0.4
v3.0.3: Version 3.0.3Compare Source
Fixed
v3.0.2: Version 3.0.2Compare Source
Fixed
Changed
Added
v3.0.1: Version 3.0.1Compare Source
Fixed
Security issue: an attacker specifying a large "p2c" value can cause JSONWebEncryption.Decrypt and JSONWebEncryption.DecryptMulti to consume large amounts of CPU, causing a DoS. Thanks to Matt Schwager (@mschwager) for the disclosure and to Tom Tervoort for originally publishing the category of attack. https://i.blackhat.com/BH-US-23/Presentations/US-23-Tervoort-Three-New-Attacks-Against-JSON-Web-Tokens.pdf
The release is tagged off the release-v3.0.1 branch to avoid mixing in some as-yet unreleased changes on the v3 branch.
Configuration
📅 Schedule: (UTC)
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, 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.