Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessReach JWE decryption endpoint
-
DeliveryCraft JWE with empty ciphertext and valid auth tag
-
ExploitSubmit using CBC-HMAC content algorithm
-
ExecutionEmpty buffer indexed during CBC-HMAC unpadding
-
ImpactPanic crashes handler/process (denial of service)
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V2 - Validation and Business Logic Array index validation
|
| Exploitation Conditions | The affected application must call go-jose's ParseEncrypted / ParseEncryptedJSON / ParseEncryptedCompact to decrypt attacker-controlled JWE ciphertext AND must include one of the CBC-HMAC content-encryption algorithms (A128CBC-HS256, A192CBC-HS384, or A256CBC-HS512) in its accepted ContentEncryption list. If the application does not use these CBC-HMAC modes, it is not exploitable. Vendor-stated workaround (for v4 users): omit these algorithms from the ContentEncryption list passed to the Parse functions; otherwise upgrade to v4.1.5. Limiting factors: exploitation requires that the app actually decrypts untrusted/external ciphertext (not just internally trusted tokens) and that CBC-HMAC algorithms are enabled - applications restricted to AES-GCM or other content algorithms are unaffected. The v3 line (<= 3.0.5) has no fixed version available per the advisory. |
| Impact | This is a denial-of-service vulnerability in the go-jose Go library (CWE-129, improper validation of array index) that is best characterized as a genuine but moderate-priority issue rather than a critical emergency. The input CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:N/UI:N) with impact limited to VA:L confirms a remotely reachable, unauthenticated, low-complexity trigger whose only consequence is partial availability loss - there is no confidentiality or integrity impact, consistent with a panic/crash rather than code execution. The signals are internally consistent and point to low real-world urgency: EPSS is only 0.26% (18th percentile), the CVE is NOT on CISA KEV, and no public exploit or weaponized PoC is identified in the input (only the fix PR, commit, and a regression test are referenced). The vuln.today decision label is 'this_month,' which aligns with a patch-on-normal-cycle posture rather than act_now/emergency. Note one nuance the input does not resolve: the vendor rated availability as Low (VA:L), but an unrecovered Go panic can crash an entire process, so the practical availability impact depends on whether the consuming application recovers panics per-request - verify against your own deployment. Bottom line: a real, easily triggered DoS worth patching promptly, but not a high-real-risk crisis given no exploitation evidence and availability-only impact. |
| Exploit ScenarioDerived | An attacker sends a crafted JWE token with an empty ciphertext buffer to an application endpoint that decrypts untrusted tokens using A128CBC-HS256, A192CBC-HS384, or A256CBC-HS512 content encryption. During CBC-HMAC unpadding the empty buffer is indexed, triggering a panic and denial of service. No public working exploit is identified at time of analysis; only the fix commit and a regression test are referenced, and the trigger (empty ciphertext passed to unpadding) is clearly described by the vendor advisory and PR. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 28, 2026
Decrypting untrusted JWE ciphertext in Go JOSE (go-jose) with CBC-HMAC content encryption can pass an empty buffer into CBC-HMAC unpadding, causing a panic and denial of service. Applications using ParseEncrypted, ParseEncryptedJSON, or ParseEncryptedCompact with A128CBC-HS256, A192CBC-HS384, or A256CBC-HS512 on attacker-controlled ciphertext are affected; the v4 line is fixed in 4.1.5, while the advisory lists v3 through 3.0.5 as not yet patched. No public exploit was identified at time of analysis; EPSS is 0.26% (18th percentile), and vuln.today labels the priority this_month.
RemediationAI
For the v4 line, upgrade to go-jose 4.1.5, the vendor-released patch; release notes are at https://github.com/go-jose/go-jose/releases/tag/v4.1.5 and the advisory is at https://github.com/go-jose/go-jose/security/advisories/GHSA-4w3g-jfj2-cw2q. If upgrading is not immediately possible and the application uses v4, use the advisory's workaround by omitting A128CBC-HS256, A192CBC-HS384, and A256CBC-HS512 from the ContentEncryption algorithm list passed to ParseEncrypted, ParseEncryptedJSON, or ParseEncryptedCompact; this disables those CBC-HMAC modes and can break decryption of JWE messages that require them, so verify interoperability. For the v3 line (<=3.0.5), the advisory lists no fixed version and its documented ContentEncryption workaround is scoped to v4 users; v3 deployments should avoid decrypting untrusted CBC-HMAC JWE ciphertext until a patched v3 release is available. Upstream fix references include PR https://github.com/go-jose/go-jose/pull/292 and commits 35883f7999e87cbd1b1f4cda07fdad8cd71c3dd6 and 74114c2fa22669a2b2a296746eaa82e15566fd54.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 3 packages in go, euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
Go JOSE implements the JOSE/JWE/JWS/JWT standards in Go. The vulnerable path is JWE content decryption using AES-CBC with HMAC-SHA2 composite AEAD algorithms (A128CBC-HS256, A192CBC-HS384, A256CBC-HS512). CWE-129 (improper validation of array index) manifests when insufficient parameter validation allows an empty ciphertext buffer to reach CBC-HMAC unpadding, where the code attempts to index the empty buffer instead of returning an error, producing a panic. The upstream PR 292 diff adds an empty-buffer check in cipher/cbc_hmac.go and tests that Open on empty ciphertext returns an error and unpadBuffer(nil, 16) returns a padding-related error. The advisory notes that applications are exposed only if they decrypt untrusted JWE ciphertext and enable one of these CBC-HMAC content-encryption algorithms; the CPE is cpe:2.3:a:go-jose:go-jose:*:*:*:*:*:*:*:* and the vuln.today tags are Denial Of Service and Go Jose.
Know when Go Jose gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:L/SC:N/SI:N/SA:N
Remote, unauthenticated, low-complexity crafted-ciphertext trigger with no user interaction; no confidentiality/integrity impact and availability rated Low, matching a recoverable panic/DoS.
Primary rating from Vendor (GitHub_M).
CVSS VectorVendor: GitHub_M
Lifecycle Timeline
1DescriptionCVE.org
Go JOSE provides an implementation of the Javascript Object Signing and Encryption set of standards in Go, including support for JSON Web Encryption (JWE), JSON Web Signature (JWS), and JSON Web Token (JWT) standards. Prior to 4.1.5, decrypting untrusted JWE ciphertext with A128CBC-HS256, A192CBC-HS384, or A256CBC-HS512 can pass an empty ciphertext buffer to CBC-HMAC unpadding. Insufficient validation allows the empty buffer to be indexed, causing a panic and denial of service. Applications that decrypt attacker-controlled ciphertext with one of these content-encryption algorithms are affected. This issue is fixed in version 4.1.5.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Denial of Service attacks render applications or systems unavailable by overwhelming resources or triggering failure conditions.
go-jose before 1.0.4 suffers from an invalid curve attack for the ECDH-ES algorithm. Rated critical severity (CVSS 9.1),
Denial of service in the Go JOSE library (go-jose) allows remote attackers to burn excessive CPU by supplying a JWK cont
go-jose before 1.0.4 suffers from multiple signatures exploitation. Rated high severity (CVSS 7.5), this vulnerability i
go-jose before 1.0.5 suffers from a CBC-HMAC integer overflow on 32-bit architectures. Rated high severity (CVSS 7.5), t
Parsing deeply nested JSON through go-jose versions prior to 4.1.5 can exhaust Go's stack limit and crash the process, g
EUVD-2026-110465
GHSA-4w3g-jfj2-cw2q
NVD
CVE.org
EPSS
Exploit-DB