Skip to content

JWT Algorithm Confusion Vulnerability

Moderate
samrocketman published GHSA-5pq9-5mpr-jj85 Jan 13, 2026

Package

maven net.gleske:jervis (Maven)

Affected versions

< 2.2

Patched versions

2.2

Description

Vulnerability

Boolean verifyJsonWebToken(String github_jwt) {
List jwt = github_jwt.tokenize('.')
String data = jwt[0..1].join('.')
String signature = jwt[-1]
verifyRS256Base64Url(signature, data)
}

The code doesn't validate that the JWT header specifies "alg":"RS256".

Impact

Depending on the broader system, this could allow JWT forgery.

Internally this severity is low since JWT is only intended to interface with GitHub. External users should consider severity moderate.

Patches

Jervis patch will explicitly verify the algorithm in the header matches expectations and further verify the JWT structure.

Upgrade to Jervis 2.2.

Workarounds

External users should consider using an alternate JWT library or upgrade.

References

Severity

Moderate

CVE ID

CVE-2025-68925

Weaknesses

No CWEs