Funkcja olm_session_describe w bibliotece Matrix libolm przed wersją 3.2.7 zawiera podatność typu buffer overflow umożliwiającą zdalnemu atakującemu manipulację pamięcią aplikacji. Ze względu na krytyczny wynik CVSS 9.8 i brak wymagań co do uwierzytelnienia, podatność stanowi poważne zagrożenie dla aplikacji korzystających z szyfrowania Olm.
▸ Pokaż oryginał (EN)
The olm_session_describe function in Matrix libolm before 3.2.7 is vulnerable to a buffer overflow. The Olm session object represents a cryptographic channel between two parties. Therefore, its state is partially controllable by the remote party of the channel. Attackers can construct a crafted sequence of messages to manipulate the state of the receiver's session in such a way that, for some buffer sizes, a buffer overflow happens on a call to olm_session_describe. Furthermore, safe buffer sizes were undocumented. The overflow content is partially controllable by the attacker and limited to ASCII spaces and digits. The known affected products are Element Web And SchildiChat Web.
Obiekt sesji Olm reprezentuje szyfrowany kanał komunikacyjny między dwoma stronami, a jego stan jest częściowo kontrolowany przez zdalną stronę kanału. Atakujący może spreparować odpowiednią sekwencję wiadomości, aby zmanipulować stan sesji po stronie odbiorcy w taki sposób, że przy określonych rozmiarach bufora wywołanie funkcji olm_session_describe prowadzi do przepełnienia bufora (buffer overflow). Treść nadpisanego obszaru pamięci jest częściowo kontrolowana przez atakującego, lecz ograniczona do znaków ASCII — spacji i cyfr. Dodatkowo bezpieczne rozmiary buforów nie były udokumentowane, co utrudniało prawidłowe zabezpieczenie aplikacji.
Atakujący może doprowadzić do uszkodzenia pamięci procesu, co potencjalnie umożliwia zdalne wykonanie kodu (RCE), ujawnienie poufnych danych lub destabilizację aplikacji. Zagrożone są poufność, integralność i dostępność systemu.
Należy zaktualizować bibliotekę Matrix libolm do wersji 3.2.7 lub nowszej. Producent opublikował szczegóły na stronie matrix.org/blog. Dostępne są również pakiety poprawek dla dystrybucji Debian (DSA-5034). Zaleca się jak najszybsze zastosowanie aktualizacji we wszystkich produktach korzystających z libolm.
Matrix libolm przed wersją 3.2.7; potwierdzone produkty: Element Web oraz SchildiChat Web (a także powiązane: Matrix Javascript SDK, Matrix Olm, Cinny)
Podatność została ujawniona przez Matrix Security Team w poście z 13 grudnia 2021 r. (disclosure opublikowane dzień przed datą CVE). Zawartość nadpisywanego bufora jest ograniczona do znaków ASCII (spacje i cyfry), co może utrudniać praktyczną eksploatację, jednak nie wyklucza jej.
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:HCinny Project Cinny
APPCinny Project< 1.6.0Debian
OSDebian10.011.09.0Matrix Element
APPMatrix< 1.9.7Matrix Javascript Sdk
APPMatrix2.4.2 – 15.2.1 (bez)Matrix Olm
APPMatrix3.1.4 – 3.2.8 (bez)Schildi Schildichat
APPSchildi< 1.9.7-sc1
Powiązane podatności
GNU Inetutils telnetd: ominięcie uwierzytelnienia przez zmienną USER
Sudo: eskalacja uprawnień do root poprzez opcję --chroot (CVE-2025-32463)
RCE przez deserializację PHP w Roundcube Webmail (parametr _from)
Erlang/OTP SSH — nieuwierzytelniony RCE (CVSS 10.0)
Apple WebKit: out-of-bounds write umożliwiający ucieczkę z sandbox przeglądarki