CVE-2026-31946

OpenOLAT: Authentication bypass via forged JWT in OIDC implicit flow

Published Mar 30, 2026 CVSS 3.1 · 9.8 Critical EPSS < 1% KEV · Not listed
Description
OpenOlat is an open source web-based e-learning platform for teaching, learning, assessment and communication. From version 10.5.4 to before version 20.2.5, OpenOLAT's OpenID Connect implicit flow implementation does not verify JWT signatures. The JSONWebToken.parse() method silently discards the signature segment of the compact JWT (header.payload.signature), and the getAccessToken() methods in both OpenIdConnectApi and OpenIdConnectFullConfigurableApi only validate claim-level fields (issuer, audience, state, nonce) without any cryptographic signature verification against the Identity Provider's JWKS endpoint. This issue has been patched in version 20.2.5.

Remediation

No solution or workaround provided in the CVE record

Tracking

Sign in to view the affected projects.

Advisories

No advisories available
History
Type Values Removed Values Added
First Time appeared Frentix
Frentix openolat
CPEs cpe:2.3:a:frentix:openolat:*:*:*:*:*:*:*:*
Vendors & Products Frentix
Frentix openolat
Type Values Removed Values Added
First Time appeared Openolat
Openolat openolat
Vendors & Products Openolat
Openolat openolat
Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'yes', 'Exploitation': 'none', 'Technical Impact': 'total'}, 'version': '2.0.3'}

Type Values Removed Values Added
Description OpenOlat is an open source web-based e-learning platform for teaching, learning, assessment and communication. From version 10.5.4 to before version 20.2.5, OpenOLAT's OpenID Connect implicit flow implementation does not verify JWT signatures. The JSONWebToken.parse() method silently discards the signature segment of the compact JWT (header.payload.signature), and the getAccessToken() methods in both OpenIdConnectApi and OpenIdConnectFullConfigurableApi only validate claim-level fields (issuer, audience, state, nonce) without any cryptographic signature verification against the Identity Provider's JWKS endpoint. This issue has been patched in version 20.2.5.
Title OpenOLAT: Authentication bypass via forged JWT in OIDC implicit flow
Weaknesses CWE-287
CWE-347
References
Metrics cvssV3_1

{'score': 9.8, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H'}

Weaknesses

Sources

Status
PUBLISHED
Assigner
GitHub_M
Published
Updated
Mar 31, 2026, 2:08 PM
Reserved
Mar 10, 2026, 3:10 PM
Status
Analyzed
Published
Mar 30, 2026, 9:17 PM
Modified
Jun 17, 2026, 10:34 AM