CVE-2015-10004:
robbert229/jwt's token validation methods vulnerable to a timing side-channel during HMAC comparison
7.5
CVSS Score
3.1
Basic Information
CVE ID
GHSA ID
EPSS Score
0.27457%
CWE
Published
12/28/2022
Updated
5/20/2024
KEV Status
No
Technology
Go
Technical Details
CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N
Package Name | Ecosystem | Vulnerable Versions | First Patched Version |
---|---|---|---|
github.com/robbert229/jwt | go | < 0.0.0-20170426191122-ca1404ee6e83 | 0.0.0-20170426191122-ca1404ee6e83 |
Vulnerability Intelligence
Miggo AI
Root Cause Analysis
The commit diff shows a critical change from strings.Compare to hmac.Equal in algorithms.go's validateSignature method. strings.Compare performs a non-constant-time string comparison that leaks timing information about HMAC matching through early exit on mismatch. This matches the described vulnerability pattern of timing side-channels in HMAC validation. The direct replacement with a constant-time comparison function (hmac.Equal) in the patch confirms this was the vulnerable code path.