Im Zentrum der Meldung steht ein Fehler im Just-in-time-Compiler von Firefox. Nebula Security zufolge steckt das Problem in der Verarbeitung von MObjectToIterator, wenn die Option „skipRegistration“ auf „true“ gesetzt ist. Firefox übersetzt häufig ausgeführten JavaScript-Code per JIT in nativen Maschinencode und muss dafür nachverfolgen, welche Operationen Speicher verändern können.
Genau dort lag der Fehler: Firefox behandelte die fragliche Operation als Lesezugriff, obwohl das Auflösen einer verzögert geladenen Eigenschaft einen neuen Puffer für dynamische Slots anlegen und den alten freigeben kann. Laut Nebula führte das dazu, dass die globale Wertnummerierung einen späteren Ladevorgang des Slots-Puffers als überflüssig einstufte und einen früheren Zeiger weiterverwendete, obwohl dieser bereits veraltet war.
Nebula beschreibt, wie der veröffentlichte Exploit die freigegebene Allokation erneut belegt, einen Zeiger auf eine versteckte Klasse ausliest, ein gefälschtes Objekt aufbaut und eine Uint8Array-Struktur korrumpiert, um beliebige Lese- und Schreibzugriffe im Speicher zu erhalten. Im Android-Teil der Kette werden anschließend Speicherschutzrechte geändert und der Einsprungpunkt einer WebAssembly-Funktion auf ARM64-Shellcode umgebogen.
Mozilla hat den Fehler mit Firefox 151.0.3 korrigiert. Nach Angaben von The Hacker News lässt sich die fehlerhafte Alias-Deklaration in der Quellcode-Historie bis zu Bug 1995077 zurückverfolgen, der für Firefox 147 übernommen wurde. Die problematische Überschreibung ist in Firefox 151.0.2 vorhanden, in Firefox 151.0.3 jedoch nicht mehr. Damit liegt der betroffene Bereich stabiler Versionen bei Firefox 147 bis 151.0.2.
Mozilla führt Firefox ESR in seinem Sicherheitshinweis nicht auf. Außerdem fehlt die fehlerhafte Überschreibung in Firefox ESR 140.12. Laut dem im Quelltext genannten Stand war keine Ausnutzung gegen Nutzer außerhalb von Forschung und Demonstration durch Primärquellen belegt.
Nebula veröffentlichte auch Material zur Ausnutzung und setzte CVE-2026-10702 als erste Stufe von „IonStack“ ein. Die komplette veröffentlichte Angriffskette zielt auf einen unterstützten Google-Build für ARM64 mit Android 17. Zou betonte jedoch, dass die Browser-Schwachstelle selbst nicht ARM-spezifisch sei. Der veröffentlichte Code enthalte Offsets für Firefox 151.0 auf dem unterstützten Android-17-Build; jeder einzelne Ausnutzungsschritt sei architekturunabhängig. Den x86-Pfad beschrieb Zou als stabiler, zugleich erklärte er, dass Nebula die vollständige Kette für diese Architektur noch nicht abgeschlossen habe.
Die zweite Stufe von IonStack ist laut Nebula CVE-2026-43499, ein separater Futex-Fehler im Linux-Kernel mit dem Namen „GhostLock“. Während CVE-2026-10702 den entfernten Einstieg über den Browser liefert, hebt CVE-2026-43499 die Kette auf Root-Rechte auf dem unterstützten Android-Build an. Zou sagte, GhostLock werde direkt aus Firefox heraus aufgerufen. Ein Update von Firefox schließt den dokumentierten Einstiegspunkt im Browser, behebt GhostLock selbst jedoch nicht.
