Biblioteka Matrix libolm przed wersją 3.2.3 zawiera podatność typu stack-based buffer overflow w funkcji olm_pk_decrypt, którą może wykorzystać złośliwy serwer Matrix (homeserver). W zależności od konfiguracji kompilacji błąd może prowadzić do zdalnego wykonania kodu (RCE) na urządzeniu ofiary.
▸ Pokaż oryginał (EN)
Matrix libolm before 3.2.3 allows a malicious Matrix homeserver to crash a client (while it is attempting to retrieve an Olm encrypted room key backup from the homeserver) because olm_pk_decrypt has a stack-based buffer overflow. Remote code execution might be possible for some nonstandard build configurations.
Podczas próby pobrania przez klienta zaszyfrowanego klucza do kopii zapasowej pokoju (Olm encrypted room key backup) z homeservera, wywoływana jest funkcja olm_pk_decrypt. Złośliwy homeserver może dostarczyć spreparowaną odpowiedź, która powoduje przepełnienie bufora na stosie (stack-based buffer overflow) w tej funkcji. W standardowej konfiguracji skutkuje to awarią (crash) procesu klienta, natomiast w niestandardowych konfiguracjach kompilacji możliwe jest zdalne wykonanie kodu.
Atakujący kontrolujący homeserver Matrix może zdalnie wywołać crash aplikacji klienckiej, a w pewnych niestandardowych konfiguracjach budowania biblioteki — potencjalnie wykonać dowolny kod (RCE) na urządzeniu użytkownika.
Należy zaktualizować bibliotekę libolm do wersji 3.2.3 lub nowszej, dostępnej w oficjalnym repozytorium projektu: https://gitlab.matrix.org/matrix-org/olm/-/releases/3.2.3. Administratorzy i deweloperzy aplikacji klienckich powinni upewnić się, że zależność libolm jest zaktualizowana we wszystkich dystrybucjach i pakietach.
Matrix libolm w wersjach przed 3.2.3 — wszystkie aplikacje klienckie Matrix korzystające z tej biblioteki do obsługi szyfrowania Olm.
Podatność została odkryta podczas procesu fuzzingu biblioteki libolm, co zostało opisane w oficjalnym wpisie na blogu Matrix.org z 14 czerwca 2021 r. (https://matrix.org/blog/2021/06/14/adventures-in-fuzzing-libolm). Możliwość RCE jest wskazana jako zależna od niestandardowej konfiguracji kompilacji.
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:HMatrix Olm
APPMatrix< 3.2.3
Powiązane podatności
Buffer overflow w Matrix libolm — funkcja olm_session_describe
An issue was discovered in Matrix libolm through 3.2.16. The AES implementation is vulnerable to cache-timing ...
An issue was discovered in Matrix libolm through 3.2.16. Cache-timing attacks can occur due to use of base64 w...
An issue was discovered in Matrix libolm through 3.2.16. There is Ed25519 signature malleability due to lack o...
Brak weryfikacji certyfikatu SMTP TLS w Matrix Sydent — podatność MITM