Miggo Logo

CVE-2024-54140: sigstore-java has a vulnerability with bundle verification

2.1

CVSS Score
4.0

Basic Information

EPSS Score
0.19013%
Published
12/5/2024
Updated
12/6/2024
KEV Status
No
Technology
TechnologyJava

Technical Details

CVSS Vector
CVSS:4.0/AV:L/AC:L/AT:P/PR:N/UI:N/VC:N/VI:L/VA:N/SC:N/SI:N/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
dev.sigstore:sigstore-javamaven< 1.2.01.2.0

Vulnerability Intelligence
Miggo AIMiggo AI

Miggo AIRoot Cause Analysis

The vulnerability stems from improper validation of checkpoint signatures in inclusion proofs. The commit diff shows the critical change in RekorVerifier.java where verification was switched from verifyDigest(inclusionRootHash) to verify(signedData). The original implementation only validated the root hash digest against the signature, rather than verifying the entire signed checkpoint payload. This allowed attackers to modify checkpoint signatures without detection, as demonstrated in the reproduction steps. The added test case 'testVerify_badCheckpointSignature' confirms this was the failure point, and the patch directly addresses this function's logic.

Vulnerable functions

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

WAF Protection Rules

WAF Rule

### Summ*ry si*stor*-j*v* **s insu**i*i*nt v*ri*i**tion *or * situ*tion w**r* * *un*l* provi**s * inv*li* si*n*tur* *or * ****kpoint. ### Imp**t T*is *u* imp**ts *li*nts usin* *ny v*ri*tion o* K*yl*ssV*ri*i*r.v*ri*y() *urr*ntly ****kpoints *r* only

Reasoning

T** vuln*r**ility st*ms *rom improp*r `v*li**tion` o* ****kpoint si*n*tur*s in in*lusion proo*s. T** *ommit *i** s*ows t** *riti**l ***n** in `R*korV*ri*i*r.j*v*` w**r* v*ri*i**tion w*s swit**** *rom `v*ri*y*i**st(in*lusionRoot**s*)` to `v*ri*y(si*n*