Podatność heap type confusion w module deserializacji C++ biblioteki Apache Fory pozwala atakującemu na wykonanie dowolnego kodu lub wywołanie odmowy usługi (DoS). Wysoki wynik CVSS 9.8 wynika z możliwości zdalnego wykorzystania bez uwierzytelnienia.
▸ Pokaż oryginał (EN)
Heap type confusion vulnerability in Apache Fory C++ deserialization. This issue affects Apache Fory C++ versions from 0.14.0 before 1.5.0. A crafted input payload can bypass type compatibility checks during polymorphic smart-pointer deserialization, causing an object of an incompatible type to be treated as the declared base type. This may result in undefined behavior and potentially lead to denial of service or arbitrary code execution. Users are recommended to upgrade to Apache Fory 1.5.0, which fixes this issue. Applications not using Apache Fory C++ polymorphic smart-pointer deserialization are not affected.
Spreparowany payload wejściowy jest w stanie ominąć mechanizmy weryfikacji zgodności typów podczas deserializacji polimorficznych inteligentnych wskaźników (polymorphic smart-pointer deserialization). W efekcie obiekt niezgodnego typu jest traktowany jak zadeklarowany typ bazowy (CWE-843: type confusion). Prowadzi to do niezdefiniowanego zachowania sterty (heap), co może zostać wykorzystane do wykonania kodu lub awarii aplikacji.
Atakujący może doprowadzić do wykonania dowolnego kodu (RCE) lub odmowy usługi (DoS) na podatnym systemie. Atak nie wymaga uwierzytelnienia ani interakcji użytkownika.
Należy zaktualizować Apache Fory do wersji 1.5.0, która zawiera poprawkę opisanego problemu. Jako środek tymczasowy warto rozważyć wyłączenie lub ograniczenie dostępu do funkcjonalności deserializacji polimorfycznych inteligentnych wskaźników tam, gdzie nie jest ona wymagana.
Apache Fory C++ w wersjach od 0.14.0 do niższych niż 1.5.0. Aplikacje nieużywające modułu polymorphic smart-pointer deserialization w Apache Fory C++ nie są podatne.
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:HApache Fory
APPApache0.14.0 – 1.5.0 (bez)
Powiązane podatności
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: out-of-bounds read przy deserializacji zero-copy
Apache Fory – niebezpieczna deserializacja danych w Java SDK (RCE)