Miggo Logo

CVE-2025-22149: JWK Set's HTTP client only overwrites and appends JWK to local cache during refresh

2.1

CVSS Score
4.0

Basic Information

EPSS Score
0.35228%
Published
1/9/2025
Updated
1/9/2025
KEV Status
No
Technology
TechnologyGo

Technical Details

CVSS Vector
CVSS:4.0/AV:N/AC:H/AT:P/PR:H/UI:N/VC:N/VI:N/VA:N/SC:N/SI:L/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
Package NameEcosystemVulnerable VersionsFirst Patched Version
github.com/MicahParks/jwksetgo>= 0.5.0, <= 0.5.210.6.0

Vulnerability Intelligence
Miggo AIMiggo AI

Miggo AIRoot Cause Analysis

The vulnerability stems from the HTTP client's cache refresh mechanism in NewStorageFromHTTP. In vulnerable versions (<=0.5.21), the refresh handler processed remote JWK Sets without first clearing existing keys (no KeyDeleteAll call). The commit diff shows the fix added store.KeyDeleteAll() before processing new keys, confirming the previous absence of cache clearance was the root cause. The function manages the auto-caching behavior described in the vulnerability reports, making it the primary point of failure.

Vulnerable functions

Only Mi**o us*rs **n s** t*is s**tion

WAF Protection Rules

WAF Rule

### Imp**t T** proj**t's provi*** *TTP *li*nt's lo**l JWK S*t ***** s*oul* *o * *ull r*pl***m*nt w**n t** *oroutin* r**r*s**s t** r*mot* JWK S*t. T** *urr*nt ****vior is to ov*rwrit* or *pp*n*. T*is is * s**urity issu* *or us* **s*s t**t utiliz* t**

Reasoning

T** vuln*r**ility st*ms *rom t** `*TTP` *li*nt's ***** r**r*s* m****nism in `N*wStor****rom*TTP`. In vuln*r**l* v*rsions (<=*.*.**), t** r**r*s* **n*l*r pro**ss** r*mot* JWK S*ts wit*out *irst *l**rin* *xistin* k*ys (no `K*y**l*t**ll` **ll). T** *omm