Skip to main content

Go JOSE CVE-2026-116585

| EUVDEUVD-2026-110465 MEDIUM
Improper Validation of Array Index (CWE-129)
2026-10-26 GitHub_M GHSA-4w3g-jfj2-cw2q
6.9
CVSS 4.0 · Vendor: GitHub_M
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Reach JWE decryption endpoint
  2. Delivery
    Craft JWE with empty ciphertext and valid auth tag
  3. Exploit
    Submit using CBC-HMAC content algorithm
  4. Execution
    Empty buffer indexed during CBC-HMAC unpadding
  5. Impact
    Panic 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.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
Patch available 0.3% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – 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

go-jose < 4.1.5

Affected Packages

go github.com/go-jose/go-jose/v3 no fix
go github.com/go-jose/go-jose/v4 fix: 4.1.5
euvd go_jose fix: 4.1.5

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

Vendor (GitHub_M) PRIMARY 6.9 MEDIUM
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
vuln.today AI 5.3 MEDIUM

Remote, unauthenticated, low-complexity crafted-ciphertext trigger with no user interaction; no confidentiality/integrity impact and availability rated Low, matching a recoverable panic/DoS.

3.1 AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L
4.0 AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:L/SC:N/SI:N/SA:N

Primary rating from Vendor (GitHub_M).

CVSS VectorVendor: GitHub_M

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
None
Privileges Required
None
User Interaction
None
Vulnerable system: Confidentiality
None
Vulnerable system: Integrity
None
Vulnerable system: Availability
Low
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

Lifecycle Timeline

1
Patch available
Oct 26, 2026 - 22:03 EUVD

DescriptionCVE.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

EPSS Score
0.3%
Top 82% exploitable
Prevalence
Medium
widely used Go JOSE/JWT library but niche within overall deployments
Threat Intel
1
1 source
Data Quality
5 sources
Confidence: Medium

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.

SignalValue
Severity MEDIUM
CISA KEV No
Public POC No
EPSS 0.3%
Patch available Yes
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation· derived
None
System Exposure· derived
Open
Automatable· derived
Yes
Human Impact· derived
Medium

Priority Score

34
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +34
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Denial of Service attacks render applications or systems unavailable by overwhelming resources or triggering failure conditions.

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy