Vulnerability Details CVE-2026-31946
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.
Exploit prediction scoring system (EPSS) score
EPSS Score 0.0
EPSS Ranking 11.4%
CVSS Severity
CVSS v3 Score 9.8
Products affected by CVE-2026-31946
-
cpe:2.3:a:frentix:openolat:10.5.4
-
cpe:2.3:a:frentix:openolat:10.5.5
-
cpe:2.3:a:frentix:openolat:10.5.6
-
cpe:2.3:a:frentix:openolat:10.5.7
-
cpe:2.3:a:frentix:openolat:10.5.8
-
cpe:2.3:a:frentix:openolat:10.5.9
-
cpe:2.3:a:frentix:openolat:11.0.0
-
cpe:2.3:a:frentix:openolat:11.0.1
-
cpe:2.3:a:frentix:openolat:11.0.10
-
cpe:2.3:a:frentix:openolat:11.0.2
-
cpe:2.3:a:frentix:openolat:11.0.3
-
cpe:2.3:a:frentix:openolat:11.0.4
-
cpe:2.3:a:frentix:openolat:11.0.5
-
cpe:2.3:a:frentix:openolat:11.0.6
-
cpe:2.3:a:frentix:openolat:11.0.7
-
cpe:2.3:a:frentix:openolat:11.0.8
-
cpe:2.3:a:frentix:openolat:11.0.9
-
cpe:2.3:a:frentix:openolat:11.1.0
-
cpe:2.3:a:frentix:openolat:11.1.1
-
cpe:2.3:a:frentix:openolat:11.1.2
-
cpe:2.3:a:frentix:openolat:11.2.0
-
cpe:2.3:a:frentix:openolat:11.2.1
-
cpe:2.3:a:frentix:openolat:11.2.2
-
cpe:2.3:a:frentix:openolat:11.2.3
-
cpe:2.3:a:frentix:openolat:11.2.4
-
cpe:2.3:a:frentix:openolat:11.3.0
-
cpe:2.3:a:frentix:openolat:11.3.1
-
cpe:2.3:a:frentix:openolat:11.3.2
-
cpe:2.3:a:frentix:openolat:11.3.3
-
cpe:2.3:a:frentix:openolat:11.4.0
-
cpe:2.3:a:frentix:openolat:11.4.1
-
cpe:2.3:a:frentix:openolat:11.4.2
-
cpe:2.3:a:frentix:openolat:11.4.3
-
cpe:2.3:a:frentix:openolat:11.5.0
-
cpe:2.3:a:frentix:openolat:11.5.1
-
cpe:2.3:a:frentix:openolat:11.5.2
-
cpe:2.3:a:frentix:openolat:11.5.3
-
cpe:2.3:a:frentix:openolat:11.5.4
-
cpe:2.3:a:frentix:openolat:11.5.5
-
cpe:2.3:a:frentix:openolat:12.0.0
-
cpe:2.3:a:frentix:openolat:12.0.1
-
cpe:2.3:a:frentix:openolat:12.0.2
-
cpe:2.3:a:frentix:openolat:12.1.0
-
cpe:2.3:a:frentix:openolat:12.1.1
-
cpe:2.3:a:frentix:openolat:12.1.2
-
cpe:2.3:a:frentix:openolat:12.1.3
-
cpe:2.3:a:frentix:openolat:12.1.4
-
cpe:2.3:a:frentix:openolat:12.1.5
-
cpe:2.3:a:frentix:openolat:12.2.0
-
cpe:2.3:a:frentix:openolat:12.2.1
-
cpe:2.3:a:frentix:openolat:12.2.2
-
cpe:2.3:a:frentix:openolat:12.2.3
-
cpe:2.3:a:frentix:openolat:12.2.4
-
cpe:2.3:a:frentix:openolat:12.2.5
-
cpe:2.3:a:frentix:openolat:12.2.6
-
cpe:2.3:a:frentix:openolat:12.2.7
-
cpe:2.3:a:frentix:openolat:12.2.8
-
cpe:2.3:a:frentix:openolat:12.3.0
-
cpe:2.3:a:frentix:openolat:12.3.1
-
cpe:2.3:a:frentix:openolat:12.3.2
-
cpe:2.3:a:frentix:openolat:12.3.3
-
cpe:2.3:a:frentix:openolat:12.4.0
-
cpe:2.3:a:frentix:openolat:12.4.1
-
cpe:2.3:a:frentix:openolat:12.4.2
-
cpe:2.3:a:frentix:openolat:12.4.3
-
cpe:2.3:a:frentix:openolat:12.5.0
-
cpe:2.3:a:frentix:openolat:12.5.1
-
cpe:2.3:a:frentix:openolat:12.5.10
-
cpe:2.3:a:frentix:openolat:12.5.11
-
cpe:2.3:a:frentix:openolat:12.5.12
-
cpe:2.3:a:frentix:openolat:12.5.13
-
cpe:2.3:a:frentix:openolat:12.5.14
-
cpe:2.3:a:frentix:openolat:12.5.15
-
cpe:2.3:a:frentix:openolat:12.5.16
-
cpe:2.3:a:frentix:openolat:12.5.17
-
cpe:2.3:a:frentix:openolat:12.5.18
-
cpe:2.3:a:frentix:openolat:12.5.19
-
cpe:2.3:a:frentix:openolat:12.5.2
-
cpe:2.3:a:frentix:openolat:12.5.20
-
cpe:2.3:a:frentix:openolat:12.5.21
-
cpe:2.3:a:frentix:openolat:12.5.22
-
cpe:2.3:a:frentix:openolat:12.5.23
-
cpe:2.3:a:frentix:openolat:12.5.24
-
cpe:2.3:a:frentix:openolat:12.5.25
-
cpe:2.3:a:frentix:openolat:12.5.26
-
cpe:2.3:a:frentix:openolat:12.5.3
-
cpe:2.3:a:frentix:openolat:12.5.4
-
cpe:2.3:a:frentix:openolat:12.5.5
-
cpe:2.3:a:frentix:openolat:12.5.6
-
cpe:2.3:a:frentix:openolat:12.5.7
-
cpe:2.3:a:frentix:openolat:12.5.8
-
cpe:2.3:a:frentix:openolat:12.5.9
-
cpe:2.3:a:frentix:openolat:13.0.0
-
cpe:2.3:a:frentix:openolat:13.0.1
-
cpe:2.3:a:frentix:openolat:13.0.2
-
cpe:2.3:a:frentix:openolat:13.0.3
-
cpe:2.3:a:frentix:openolat:13.1.0
-
cpe:2.3:a:frentix:openolat:13.1.1
-
cpe:2.3:a:frentix:openolat:13.1.2
-
cpe:2.3:a:frentix:openolat:13.2.0
-
cpe:2.3:a:frentix:openolat:13.2.1
-
cpe:2.3:a:frentix:openolat:13.2.2
-
cpe:2.3:a:frentix:openolat:13.2.3
-
cpe:2.3:a:frentix:openolat:13.2.4
-
cpe:2.3:a:frentix:openolat:13.2.5
-
cpe:2.3:a:frentix:openolat:13.2.6
-
cpe:2.3:a:frentix:openolat:13.2.7
-
cpe:2.3:a:frentix:openolat:13.2.8
-
cpe:2.3:a:frentix:openolat:14.0.0
-
cpe:2.3:a:frentix:openolat:14.0.2
-
cpe:2.3:a:frentix:openolat:14.0.3
-
cpe:2.3:a:frentix:openolat:14.0.4
-
cpe:2.3:a:frentix:openolat:14.01
-
cpe:2.3:a:frentix:openolat:14.1.0
-
cpe:2.3:a:frentix:openolat:14.1.1
-
cpe:2.3:a:frentix:openolat:14.1.2
-
cpe:2.3:a:frentix:openolat:14.1.3
-
cpe:2.3:a:frentix:openolat:14.1.4
-
cpe:2.3:a:frentix:openolat:14.1.5
-
cpe:2.3:a:frentix:openolat:14.1.6
-
cpe:2.3:a:frentix:openolat:14.1.7
-
cpe:2.3:a:frentix:openolat:14.2.0
-
cpe:2.3:a:frentix:openolat:14.2.1
-
cpe:2.3:a:frentix:openolat:14.2.10
-
cpe:2.3:a:frentix:openolat:14.2.11
-
cpe:2.3:a:frentix:openolat:14.2.12
-
cpe:2.3:a:frentix:openolat:14.2.13
-
cpe:2.3:a:frentix:openolat:14.2.14
-
cpe:2.3:a:frentix:openolat:14.2.15
-
cpe:2.3:a:frentix:openolat:14.2.16
-
cpe:2.3:a:frentix:openolat:14.2.17
-
cpe:2.3:a:frentix:openolat:14.2.18
-
cpe:2.3:a:frentix:openolat:14.2.2
-
cpe:2.3:a:frentix:openolat:14.2.3
-
cpe:2.3:a:frentix:openolat:14.2.4
-
cpe:2.3:a:frentix:openolat:14.2.5
-
cpe:2.3:a:frentix:openolat:14.2.6
-
cpe:2.3:a:frentix:openolat:14.2.7
-
cpe:2.3:a:frentix:openolat:14.2.8
-
cpe:2.3:a:frentix:openolat:14.2.9
-
cpe:2.3:a:frentix:openolat:15.0.0
-
cpe:2.3:a:frentix:openolat:15.0.1
-
cpe:2.3:a:frentix:openolat:15.0.2
-
cpe:2.3:a:frentix:openolat:15.0.3
-
cpe:2.3:a:frentix:openolat:15.0.4
-
cpe:2.3:a:frentix:openolat:15.0.5
-
cpe:2.3:a:frentix:openolat:15.0.6
-
cpe:2.3:a:frentix:openolat:15.1.0
-
cpe:2.3:a:frentix:openolat:15.1.1
-
cpe:2.3:a:frentix:openolat:15.1.2
-
cpe:2.3:a:frentix:openolat:15.1.3
-
cpe:2.3:a:frentix:openolat:15.1.4
-
cpe:2.3:a:frentix:openolat:15.2.0
-
cpe:2.3:a:frentix:openolat:15.2.1
-
cpe:2.3:a:frentix:openolat:15.2.10
-
cpe:2.3:a:frentix:openolat:15.2.11
-
cpe:2.3:a:frentix:openolat:15.2.12
-
cpe:2.3:a:frentix:openolat:15.2.13
-
cpe:2.3:a:frentix:openolat:15.2.2
-
cpe:2.3:a:frentix:openolat:15.2.3
-
cpe:2.3:a:frentix:openolat:15.2.4
-
cpe:2.3:a:frentix:openolat:15.2.5
-
cpe:2.3:a:frentix:openolat:15.2.6
-
cpe:2.3:a:frentix:openolat:15.2.7
-
cpe:2.3:a:frentix:openolat:15.2.8
-
cpe:2.3:a:frentix:openolat:15.2.9
-
cpe:2.3:a:frentix:openolat:15.3.0
-
cpe:2.3:a:frentix:openolat:15.3.1
-
cpe:2.3:a:frentix:openolat:15.3.10
-
cpe:2.3:a:frentix:openolat:15.3.11
-
cpe:2.3:a:frentix:openolat:15.3.12
-
cpe:2.3:a:frentix:openolat:15.3.13
-
cpe:2.3:a:frentix:openolat:15.3.14
-
cpe:2.3:a:frentix:openolat:15.3.15
-
cpe:2.3:a:frentix:openolat:15.3.16
-
cpe:2.3:a:frentix:openolat:15.3.17
-
cpe:2.3:a:frentix:openolat:15.3.18
-
cpe:2.3:a:frentix:openolat:15.3.2
-
cpe:2.3:a:frentix:openolat:15.3.3
-
cpe:2.3:a:frentix:openolat:15.3.4
-
cpe:2.3:a:frentix:openolat:15.3.5
-
cpe:2.3:a:frentix:openolat:15.3.6
-
cpe:2.3:a:frentix:openolat:15.3.7
-
cpe:2.3:a:frentix:openolat:15.3.8
-
cpe:2.3:a:frentix:openolat:15.3.9
-
cpe:2.3:a:frentix:openolat:15.4.0
-
cpe:2.3:a:frentix:openolat:15.4.1
-
cpe:2.3:a:frentix:openolat:15.4.2
-
cpe:2.3:a:frentix:openolat:15.4.3
-
cpe:2.3:a:frentix:openolat:15.4.4
-
cpe:2.3:a:frentix:openolat:15.4.5
-
cpe:2.3:a:frentix:openolat:15.4.6
-
cpe:2.3:a:frentix:openolat:15.4.7
-
cpe:2.3:a:frentix:openolat:15.4.8
-
cpe:2.3:a:frentix:openolat:15.5.0
-
cpe:2.3:a:frentix:openolat:15.5.1
-
cpe:2.3:a:frentix:openolat:15.5.10
-
cpe:2.3:a:frentix:openolat:15.5.11
-
cpe:2.3:a:frentix:openolat:15.5.12
-
cpe:2.3:a:frentix:openolat:15.5.13
-
cpe:2.3:a:frentix:openolat:15.5.14
-
cpe:2.3:a:frentix:openolat:15.5.2
-
cpe:2.3:a:frentix:openolat:15.5.3
-
cpe:2.3:a:frentix:openolat:15.5.4
-
cpe:2.3:a:frentix:openolat:15.5.5
-
cpe:2.3:a:frentix:openolat:15.5.6
-
cpe:2.3:a:frentix:openolat:15.5.7
-
cpe:2.3:a:frentix:openolat:15.5.8
-
cpe:2.3:a:frentix:openolat:15.5.9
-
cpe:2.3:a:frentix:openolat:16.0.0
-
cpe:2.3:a:frentix:openolat:16.0.1
-
cpe:2.3:a:frentix:openolat:16.0.2
-
cpe:2.3:a:frentix:openolat:16.0.3
-
cpe:2.3:a:frentix:openolat:16.0.4
-
cpe:2.3:a:frentix:openolat:16.0.5
-
cpe:2.3:a:frentix:openolat:16.0.6
-
cpe:2.3:a:frentix:openolat:16.0.7
-
cpe:2.3:a:frentix:openolat:16.0.8
-
cpe:2.3:a:frentix:openolat:16.0.9
-
cpe:2.3:a:frentix:openolat:16.1.0
-
cpe:2.3:a:frentix:openolat:16.1.1
-
cpe:2.3:a:frentix:openolat:16.1.2
-
cpe:2.3:a:frentix:openolat:16.1.3
-
cpe:2.3:a:frentix:openolat:16.1.4
-
cpe:2.3:a:frentix:openolat:16.1.5
-
cpe:2.3:a:frentix:openolat:16.1.6
-
cpe:2.3:a:frentix:openolat:16.1.7
-
cpe:2.3:a:frentix:openolat:16.1.8
-
cpe:2.3:a:frentix:openolat:16.2.0
-
cpe:2.3:a:frentix:openolat:16.2.1
-
cpe:2.3:a:frentix:openolat:16.2.10
-
cpe:2.3:a:frentix:openolat:16.2.11
-
cpe:2.3:a:frentix:openolat:16.2.12
-
cpe:2.3:a:frentix:openolat:16.2.13
-
cpe:2.3:a:frentix:openolat:16.2.14
-
cpe:2.3:a:frentix:openolat:16.2.15
-
cpe:2.3:a:frentix:openolat:16.2.16
-
cpe:2.3:a:frentix:openolat:16.2.17
-
cpe:2.3:a:frentix:openolat:16.2.18
-
cpe:2.3:a:frentix:openolat:16.2.2
-
cpe:2.3:a:frentix:openolat:16.2.3
-
cpe:2.3:a:frentix:openolat:16.2.4
-
cpe:2.3:a:frentix:openolat:16.2.5
-
cpe:2.3:a:frentix:openolat:16.2.6
-
cpe:2.3:a:frentix:openolat:16.2.7
-
cpe:2.3:a:frentix:openolat:16.2.8
-
cpe:2.3:a:frentix:openolat:16.2.9
-
cpe:2.3:a:frentix:openolat:17.0.0
-
cpe:2.3:a:frentix:openolat:17.0.1
-
cpe:2.3:a:frentix:openolat:17.0.2
-
cpe:2.3:a:frentix:openolat:17.0.3
-
cpe:2.3:a:frentix:openolat:17.0.4
-
cpe:2.3:a:frentix:openolat:17.0.5
-
cpe:2.3:a:frentix:openolat:17.0.6
-
cpe:2.3:a:frentix:openolat:17.0.7
-
cpe:2.3:a:frentix:openolat:17.0.8
-
cpe:2.3:a:frentix:openolat:17.1.0
-
cpe:2.3:a:frentix:openolat:17.1.1
-
cpe:2.3:a:frentix:openolat:17.1.10
-
cpe:2.3:a:frentix:openolat:17.1.2
-
cpe:2.3:a:frentix:openolat:17.1.3
-
cpe:2.3:a:frentix:openolat:17.1.4
-
cpe:2.3:a:frentix:openolat:17.1.5
-
cpe:2.3:a:frentix:openolat:17.1.6
-
cpe:2.3:a:frentix:openolat:17.1.7
-
cpe:2.3:a:frentix:openolat:17.1.8
-
cpe:2.3:a:frentix:openolat:17.1.9
-
cpe:2.3:a:frentix:openolat:17.2.0
-
cpe:2.3:a:frentix:openolat:17.2.1
-
cpe:2.3:a:frentix:openolat:17.2.10
-
cpe:2.3:a:frentix:openolat:17.2.11
-
cpe:2.3:a:frentix:openolat:17.2.12
-
cpe:2.3:a:frentix:openolat:17.2.13
-
cpe:2.3:a:frentix:openolat:17.2.14
-
cpe:2.3:a:frentix:openolat:17.2.15
-
cpe:2.3:a:frentix:openolat:17.2.16
-
cpe:2.3:a:frentix:openolat:17.2.17
-
cpe:2.3:a:frentix:openolat:17.2.18
-
cpe:2.3:a:frentix:openolat:17.2.19
-
cpe:2.3:a:frentix:openolat:17.2.2
-
cpe:2.3:a:frentix:openolat:17.2.20
-
cpe:2.3:a:frentix:openolat:17.2.3
-
cpe:2.3:a:frentix:openolat:17.2.4
-
cpe:2.3:a:frentix:openolat:17.2.5
-
cpe:2.3:a:frentix:openolat:17.2.7
-
cpe:2.3:a:frentix:openolat:17.2.8
-
cpe:2.3:a:frentix:openolat:17.2.9
-
cpe:2.3:a:frentix:openolat:18.0.0
-
cpe:2.3:a:frentix:openolat:18.0.1
-
cpe:2.3:a:frentix:openolat:18.0.2
-
cpe:2.3:a:frentix:openolat:18.0.3
-
cpe:2.3:a:frentix:openolat:18.0.4
-
cpe:2.3:a:frentix:openolat:18.0.5
-
cpe:2.3:a:frentix:openolat:18.0.6
-
cpe:2.3:a:frentix:openolat:18.0.7
-
cpe:2.3:a:frentix:openolat:18.1.0
-
cpe:2.3:a:frentix:openolat:18.1.1
-
cpe:2.3:a:frentix:openolat:18.1.2
-
cpe:2.3:a:frentix:openolat:18.1.3
-
cpe:2.3:a:frentix:openolat:18.1.4
-
cpe:2.3:a:frentix:openolat:18.1.5
-
cpe:2.3:a:frentix:openolat:18.1.6
-
cpe:2.3:a:frentix:openolat:18.2.0
-
cpe:2.3:a:frentix:openolat:18.2.1
-
cpe:2.3:a:frentix:openolat:18.2.10
-
cpe:2.3:a:frentix:openolat:18.2.11
-
cpe:2.3:a:frentix:openolat:18.2.12
-
cpe:2.3:a:frentix:openolat:18.2.13
-
cpe:2.3:a:frentix:openolat:18.2.14
-
cpe:2.3:a:frentix:openolat:18.2.15
-
cpe:2.3:a:frentix:openolat:18.2.16
-
cpe:2.3:a:frentix:openolat:18.2.17
-
cpe:2.3:a:frentix:openolat:18.2.18
-
cpe:2.3:a:frentix:openolat:18.2.19
-
cpe:2.3:a:frentix:openolat:18.2.2
-
cpe:2.3:a:frentix:openolat:18.2.3
-
cpe:2.3:a:frentix:openolat:18.2.4
-
cpe:2.3:a:frentix:openolat:18.2.5
-
cpe:2.3:a:frentix:openolat:18.2.6
-
cpe:2.3:a:frentix:openolat:18.2.7
-
cpe:2.3:a:frentix:openolat:18.2.8
-
cpe:2.3:a:frentix:openolat:18.2.9
-
cpe:2.3:a:frentix:openolat:19.0.0
-
cpe:2.3:a:frentix:openolat:19.0.1
-
cpe:2.3:a:frentix:openolat:19.0.10
-
cpe:2.3:a:frentix:openolat:19.0.11
-
cpe:2.3:a:frentix:openolat:19.0.12
-
cpe:2.3:a:frentix:openolat:19.0.13
-
cpe:2.3:a:frentix:openolat:19.0.14
-
cpe:2.3:a:frentix:openolat:19.0.2
-
cpe:2.3:a:frentix:openolat:19.0.3
-
cpe:2.3:a:frentix:openolat:19.0.4
-
cpe:2.3:a:frentix:openolat:19.0.5
-
cpe:2.3:a:frentix:openolat:19.0.6
-
cpe:2.3:a:frentix:openolat:19.0.7
-
cpe:2.3:a:frentix:openolat:19.0.8
-
cpe:2.3:a:frentix:openolat:19.0.9
-
cpe:2.3:a:frentix:openolat:19.1.0
-
cpe:2.3:a:frentix:openolat:19.1.1
-
cpe:2.3:a:frentix:openolat:19.1.2
-
cpe:2.3:a:frentix:openolat:19.1.3
-
cpe:2.3:a:frentix:openolat:19.1.4