Podatność w Apache Fory (dawniej Apache Fury) powoduje odczyt poza granicami bufora podczas deserializacji w trybie out-of-band zero-copy. Błąd ma ocenę CVSS 9.1 i może prowadzić do ujawnienia danych oraz awarii aplikacji.
▸ Pokaż oryginał (EN)
Out-of-bounds read via sun.misc.Unsafe in Apache Fory. When out-of-band zero-copy deserialization is used, readAlignedVarUint() can read beyond the bounds of the underlying buffer. Out-of-band zero-copy deserialization is an opt-in feature; applications that do not use it are not affected. This issue affects Apache Fory (formerly Apache Fury): from 0.5.0 before 1.4.0. Versions before 0.11.0 were published under the Maven coordinates org.apache.fury:fury-core. Users are recommended to upgrade to version 1.4.0, which fixes the issue.
Podczas korzystania z opcjonalnego trybu out-of-band zero-copy deserialization, metoda readAlignedVarUint() wykorzystuje niskopoziomowy mechanizm sun.misc.Unsafe do odczytu danych. W wyniku braku odpowiedniej walidacji granic bufora możliwy jest odczyt poza jego zakresem (out-of-bounds read, CWE-125). Podatność jest aktywna wyłącznie wtedy, gdy aplikacja jawnie włączyła tę funkcję — domyślna konfiguracja nie jest zagrożona.
Atakujący może uzyskać nieautoryzowany odczyt fragmentów pamięci procesu (ujawnienie poufnych danych) oraz spowodować awarię aplikacji (denial of service) poprzez dostarczenie spreparowanego payloadu deserializacji.
Należy zaktualizować Apache Fory do wersji 1.4.0, która eliminuje opisaną podatność. Jako środek tymczasowy można wyłączyć funkcję out-of-band zero-copy deserialization, jeśli nie jest niezbędna dla działania aplikacji.
Apache Fory (dawniej Apache Fury) w wersjach od 0.5.0 do 1.3.x (przed 1.4.0). Wersje przed 0.11.0 były publikowane pod współrzędnymi Maven org.apache.fury:fury-core. Dotyczy wyłącznie aplikacji korzystających z trybu out-of-band zero-copy deserialization.
Podatność dotyczy wyłącznie aplikacji, które jawnie włączyły tryb out-of-band zero-copy deserialization — jest to funkcja opt-in. Aplikacje korzystające z domyślnej konfiguracji nie są podatne.
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:HApache Fory
APPApache0.5.0 – 1.4.0 (bez)
Powiązane podatności
Apache Fory C++: type confusion w deserializacji umożliwia RCE
Apache Fory C++: Out-of-bounds Read podczas deserializacji struktur z polami integer
Apache Fury — pominięcie kontroli klas przy deserializacji wyrażeń lambda
Apache Fory C++: type confusion i out-of-bounds w deserializacji
Apache Fory – niebezpieczna deserializacja danych w Java SDK (RCE)