Apache Ignite 2.3 i wcześniejsze nie posiada listy dozwolonych klas podczas serializacji/deserializacji obiektów, co umożliwia zdalne wykonanie dowolnego kodu (RCE). Podatność jest szczególnie niebezpieczna, ponieważ nie wymaga uwierzytelnienia ani interakcji użytkownika.
▸ Pokaż oryginał (EN)
In Apache Ignite 2.3 or earlier, the serialization mechanism does not have a list of classes allowed for serialization/deserialization, which makes it possible to run arbitrary code when 3-rd party vulnerable classes are present in Ignite classpath. The vulnerability can be exploited if the one sends a specially prepared form of a serialized object to one of the deserialization endpoints of some Ignite components - discovery SPI, Ignite persistence, Memcached endpoint, socket steamer.
Mechanizm serializacji w Apache Ignite nie weryfikuje, które klasy mogą być deserializowane – brak tzw. whitelist dozwolonych klas. Atakujący może spreparować specjalnie skonstruowany obiekt serializowany i przesłać go do jednego z podatnych endpointów: discovery SPI, Ignite persistence, Memcached endpoint lub socket streamer. Jeśli w classpath Ignite znajdują się podatne biblioteki zewnętrzne (third-party), deserializacja złośliwego obiektu prowadzi do wykonania dowolnego kodu po stronie serwera (CWE-502).
Atakujący zdalny, nieuwierzytelniony może wykonać dowolny kod na serwerze, co w praktyce oznacza pełne przejęcie kontroli nad systemem, możliwość kradzieży danych, modyfikacji konfiguracji lub dalszego lateral movement w sieci.
Należy zaktualizować Apache Ignite do wersji wyższej niż 2.3, w której wprowadzono mechanizm listy dozwolonych klas do serializacji/deserializacji. Dostępne są również patche dla środowisk Red Hat opisane w erracie RHSA-2018:2405. Zaleca się dodatkowo ograniczenie dostępu sieciowego do endpointów deserializacji (discovery SPI, Memcached endpoint, socket streamer) za pomocą firewall oraz weryfikację i oczyszczenie classpath z podatnych bibliotek zewnętrznych.
Apache Ignite w wersji 2.3 oraz wszystkich wcześniejszych
CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:HApache Ignite
APPApache≤ 2.3.0
Powiązane podatności
RCE w Spring Data Commons — podatność property bindera
Apache Ignite: pominięcie filtrów deserializacji umożliwia RCE
Apache Ignite — nieautoryzowany dostęp do systemu plików przez funkcje SQL H2
Apache Ignite: RCE przez niebezpieczną deserializację obiektów Java
Relative Path Traversal vulnerability in Apache Ignite REST API. Authenticated REST API users can read any fi...