Roadiz OpenID Connect nonce generated but never validated — ID token replay attack
- Published
- Last modified
- Where the record stands: published, rejected by its publisher, or superseded by another id.What do these mean? →
- published
- Whether CISA lists it in its Known Exploited Vulnerabilities catalog: proof that attackers are using it.What do these mean? →
- Not listed in CISA KEV
- Fix
- Fixed in 2.3.43, 2.5.45, 2.6.31, 2.7.18
- Whether working attack code is public (Exploit-DB, Metasploit, Nuclei or GitHub). Public code makes attacks easier.What do these mean? →
- None on Exploit-DB, Metasploit or GitHub
- Exploitation: none
- Automatable: no
- Technical impact: partial
Summary
Roadiz is a polymorphic content management system based on a node system. Prior to versions 2.3.43, 2.5.45, 2.6.31, and 2.7.18, the roadiz/openid package generates an OIDC nonce in OAuth2LinkGenerator::generate() and includes it in the authorization request sent to the identity provider, but never stores it and never validates it on the callback. The OpenIdJwtConfigurationFactory validation chain does not include a nonce constraint, and OpenIdAuthenticator::authenticate() never checks the nonce claim in the returned ID token against a stored value. This issue has been patched in versions 2.3.43, 2.5.45, 2.6.31, and 2.7.18.
Timeline
- CVE published
- CISA SSVC assessment
Exploitation: none · Automatable: no · Technical impact: partial
- Record last updated
Affected versions
- roadiz core-bundle-dev-app
fixed in 2.3.43; From 2.5.0 · fixed in 2.5.45; From 2.6.0 · fixed in 2.6.31; From 2.7.0 · fixed in 2.7.18
- roadiz/openidPackagist
From 2.7.0 · fixed in 2.7.18
- roadiz/openidPackagist
From 2.6.0 · fixed in 2.6.31
- roadiz/openidPackagist
From 2.5.0 · fixed in 2.5.45
- roadiz/openidPackagist
fixed in 2.3.43