Jak oznaczać treści AI, by nie dostać kary? Zapisz się na bezpłatne szkolenie o AI Act

Konferencja Mega Sekurak Hacking Party w Krakowie – 26-27 października!

17 sierpnia startuję Dni Otwarte Sekurak.Academy. Dołącz bezpłatnie 🙂

 

Podatność w Firefox JIT wykorzystana w łańcuchu browser-to-kernel

18 sierpnia 2026, 09:10 | W biegu | 0 komentarzy

Pojedyncza wizyta na złośliwej stronie internetowej mogła doprowadzić do wykonania dowolnego kodu w procesie renderera Firefox, a błąd ten został wykorzystany do przejęcia przeglądarki Tor Browser. Badacze z Nebula Security odkryli podatność w kompilatorze just-in-time działającym w ramach silnika SpiderMonkey (Tor Browser również go wykorzystuje).

TLDR:

  • Badacze z Nebula Security odkryli podatność w kompilatorze JIT SpiderMonkey, którą można było wykorzystać przy samym odwiedzeniu złośliwej strony.
  • Podatność umożliwiała wykonanie kodu w sandboxowanym procesie Firefoksa i została użyta jako pierwszy etap łańcucha IonStack.
  • Problem wynikał z błędnej optymalizacji JIT, która zachowywała nieaktualny wskaźnik po zmianie stanu pamięci.
  • Badacze wykorzystali podatność razem z CVE-2026-43499 (GhostLock), aby uzyskać root na wspieranym buildzie Androida.
  • Aktualizacja Firefox 151.0.3 usuwa punkt wejścia przez przeglądarkę, ale nie likwiduje osobnej podatności GhostLock, która dotyczy kernela Linux.

Luka została oznaczona jako CVE-2026-10702, a Mozilla oceniła jej poziom zagrożenia jako wysoki i naprawiła go w aktualizacji Firefox 151.0.3. Do wykorzystania podatności nie były wymagane żadne szczególne ustawienia ani interakcja ze strony użytkownika – wystarczyło odwiedzić złośliwą stronę.

Sama podatność umożliwia wykonanie kodu wyłącznie wewnątrz odizolowanego procesu Firefox. Badacze opublikowali szczegóły i wykorzystali ją jako pierwszy etap łańcucha IonStack dla urządzenia ARM64 z systemem Android 17.

Użytkownikom Firefoxa polecamy zaktualizować przeglądarkę do najnowszej wersji. Oznacza to, że zakres dotkniętych wydań obejmuje wersje od 147 do 151.0.2. 

Badacze wskazali, że źródłem problemu jest MObjectToIterator działający z parametrem skipRegistration ustawionym na true. Kompilator just-in-time (JIT) Firefox przekształca często wykonywany kod JavaScript w natywny kod maszynowy, przez co – aby robić to bezpiecznie – musi śledzić, które operacje mogą uzyskiwać dostęp do pamięci. Firefox traktował tę operację jako odczyt, mimo że w jej wyniku mógł zostać przydzielony zastępczy bufor dynamic-slots, a poprzedni mógł zostać zwolniony.

Global value numbering uznał następnie późniejszy odczyt bufora slots za nadmiarowy i ponownie wykorzystał wcześniejszy wskaźnik, mimo że stał się on już nieaktualny. Opublikowany przez badaczy exploit ponownie wykorzystuje zwolnioną alokację, tworzy fałszywy obiekt i uszkadza Uint8Array, aby uzyskać możliwość dowolnego odczytu i zapisu w pamięci.

Problem wynikał z nieprawidłowo zdefiniowanego kontraktu kompilatora: operacja mogąca zastąpić bufor dynamic-slots obiektu została oznaczona jako odczyt. To sprawiło, że poprawnie działająca logika optymalizacji zachowywała wskaźnik, który stał się już nieaktualny.

Poprawka Mozilli na poziomie kodu źródłowego usuwa niestandardową obsługę aliasów tylko do odczytu z ObjectToIterator i dostosowuje powiązaną operację iteratora. Uniemożliwia to traktowanie etapu, w którym można modyfikować dane jako nieszkodliwego odczytu, nie pozwalając na zachowywanie nieaktualnego wskaźnika.

We wspomnianym wcześniej łańcuchu IonStack podatność ta stanowiła pierwszy etap. Drugim etapem było wykorzystanie CVE-2026-43499 – odrębnej luki w kernelu Linux, którą badacze nazwali “GhostLock”. Błąd w silniku Firefox zapewnia zdalny “punkt wejścia” przez przeglądarkę, natomiast podatność w jądrze pozwala uzyskać uprawnienia root na wspieranym buildzie Androida.

Aktualizacja Firefoksa blokuje udokumentowany punkt wejścia przez przeglądarkę, ale nie naprawia samego GhostLock – zamyka jedynie wykorzystany przez badaczy “punkt wejścia”. Użytkownikom polecamy mimo wszystko aktualizację do najnowszej wersji i całościowo – dbanie o aktualność używanego oprogramowania.

Źródła:

~Tymoteusz Jóźwiak

Spodobał Ci się wpis? Podziel się nim ze znajomymi:



Komentarze

Odpowiedz