Podatność w implementacji C++ biblioteki Apache Fory umożliwia przeprowadzenie ataku przez deserializację złośliwie spreparowanych danych, prowadząc do type confusion oraz nieautoryzowanego zapisu i odczytu poza granicami sterty. Ocena CVSS 9.8 wskazuje na krytyczne ryzyko przejęcia kontroli nad procesem bez konieczności uwierzytelnienia.
▸ Pokaż oryginał (EN)
Heap type confusion and out-of-bounds read/write in the Apache Fory C++ implementation. When deserializing data in compatible mode, the field-skip paths do not correctly validate the declared field types against the actual data, so input with an inconsistent schema can cause type confusion and out-of-bounds memory access. Only the C++ implementation is affected; other language implementations of Apache Fory are not. This issue affects Apache Fory C++: from 0.14.0 before 1.4.0. Users are recommended to upgrade to version 1.4.0, which fixes the issue.
W trybie kompatybilnym (compatible mode) ścieżki pomijania pól (field-skip paths) podczas deserializacji nie weryfikują poprawnie zadeklarowanych typów pól względem rzeczywistych danych wejściowych. Atakujący może dostarczyć dane z niespójnym schematem, wywołując heap type confusion (CWE-843) oraz odczyt i zapis poza przydzielonym obszarem pamięci sterty (CWE-787). Problem dotyczy wyłącznie implementacji C++ — pozostałe implementacje językowe Apache Fory nie są podatne.
Atakujący może doprowadzić do wykonania dowolnego kodu (RCE), uszkodzenia danych lub awarii aplikacji poprzez manipulację pamięcią sterty. Ze względu na pełną triadę CIA (C:H/I:H/A:H) w wektorze CVSS, możliwe jest całkowite przejęcie procesu.
Należy zaktualizować Apache Fory C++ do wersji 1.4.0, która zawiera poprawkę eliminującą podatność. Szczegóły dostępne w referencjach producenta pod adresem: https://lists.apache.org/thread/wl05slf57zzoq1s4pg4tk6nx6mjyjr4b
Apache Fory C++ w wersjach od 0.14.0 do wcześniejszych niż 1.4.0
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:HApache Fory
APPApache0.14.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: out-of-bounds read przy deserializacji zero-copy
Apache Fory – niebezpieczna deserializacja danych w Java SDK (RCE)