Critical severity · published Mar 30, 2026
CVE-2026-31946
OpenOLAT: Authentication bypass via forged JWT in OIDC implicit flow
9.8
CVSS
0.2%
EPSS
No
On KEV
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.
CVSS vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Attack vector
Network
Complexity
Low
Privileges
None
User interaction
None
Confidentiality
High
Integrity
High
Availability
High
Scope
Unchanged
Exploitation
Is it being used?
Exploit prediction (EPSS)0.2% · higher than 11% of CVEs
Exploited in the wildNo evidence yet
CISA KEVNot listed
Ransomware campaign useNot known
Affected products
Which versions
OP
OpenOLAT · OpenOLAT
>= 10.5.4, < 20.2.5 · source: vendor, NVD
Affected product
OP
OpenOLAT
OpenOLAT
More from OpenOLAT
8.8
CVE-2026-28228
OpenOLAT: Server-Side Template Injection (SSTI) in Velocity templates allows Remote Code Execution
7.5
CVE-2024-28198
XML external entity (XXE) injection in OpenOLAT