Platforma e-learningowa OpenOLAT w wersjach od 10.5.4 do przed 20.2.5 nie weryfikuje kryptograficznych podpisów tokenów JWT w implementacji przepływu OpenID Connect implicit flow. Pozwala to nieuwierzytelnionemu atakującemu na ominięcie mechanizmu uwierzytelniania (Auth Bypass) i przejęcie sesji dowolnego użytkownika.
▸ Pokaż oryginał (EN)
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.
Metoda JSONWebToken.parse() po cichu odrzuca segment podpisu tokenu JWT (header.payload.signature), ignorując tym samym jego integralność kryptograficzną. Metody getAccessToken() w klasach OpenIdConnectApi oraz OpenIdConnectFullConfigurableApi weryfikują jedynie pola na poziomie claimów (issuer, audience, state, nonce), lecz nie przeprowadzają żadnej weryfikacji podpisu względem klucza publicznego dostawcy tożsamości (JWKS endpoint). W konsekwencji atakujący może spreparować lub zmodyfikować token JWT z dowolnymi claimami — np. podszywając się pod innego użytkownika lub administratora — i zostanie on zaakceptowany przez system bez żadnej weryfikacji kryptograficznej.
Atakujący bez żadnych uprawnień i bez interakcji użytkownika może uzyskać pełny nieautoryzowany dostęp do kont innych użytkowników, w tym administratorów, co prowadzi do naruszenia poufności, integralności oraz dostępności danych przechowywanych na platformie.
Należy zaktualizować OpenOLAT do wersji 20.2.5 lub nowszej, w której problem został naprawiony. Jeśli natychmiastowa aktualizacja nie jest możliwa, należy rozważyć wyłączenie lub ograniczenie dostępu do funkcji logowania przez OpenID Connect do czasu wdrożenia patcha.
OpenOLAT w wersjach od 10.5.4 do przed 20.2.5 (konfiguracje korzystające z OpenID Connect implicit flow)
Podatność zgłoszona i opublikowana przez zespół OpenOLAT w ramach GitHub Security Advisory (GHSA-v8vp-x4q4-2vch). Poprawka dostępna w wersji 20.2.5.
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:HFrentix Openolat
APPFrentix10.5.4 – 20.2.5 (bez)
Powiązane podatności
OpenOlat is an open source web-based e-learning platform for teaching, learning, assessment and communication....
OpenOlat is a web-basedlearning management system. A path traversal vulnerability exists in OpenOlat prior to ...
OpenOlat is a web-based e-learning platform for teaching, learning, assessment and communication, an LMS, a le...
OpenOlat is a web-based learning management system (LMS). Prior to version 15.3.18, 15.5.3, and 16.0.0, using ...
OpenOLAT is a web-based learning management system (LMS). A path traversal vulnerability exists in versions pr...