
CVE-2024-0519 root cause analysis
Root-Cause-Analyse-Artefakte für CVE-2024-0519 (V8 Out-of-Bounds-Speicherzugriff, Chrome 120, in freier Wildbahn ausgenutzt).
Behebung: e0f2a195d87c9a06685121e0e783efd92d030df3 — Toon Verwaest, 2024-01-12
Untersuchte V8-Version: 12.0.267.16 (fbc4963bbff), ARM64 macOS
| Pfad | Beschreibung |
|---|---|
harness/test-toctou-race.cc | C++ cctest, der das TOCTOU-Race-Fenster in GetOwnFastDataPropertyFromHeap bestätigt |
harness/test-toctou-chain.cc | C++ cctest, der einen als HeapConstant eingebetteten Füller über die Broker-Pipeline demonstriert |
js/poc_325020448.js | JS-Trigger ohne intrinsische Funktionen für chromium:325020448 (verwandter Fehler, kein öffentliches CVE) |
js/regress_325020448.js | Offizieller V8-Regressionstest für chromium:325020448 (erfordert --allow-natives-syntax) |
patches/e0f2a195.md | Metadaten des Behebungs-Commits |
# Pre-patch d8 (V8 12.0.267.16, one commit before e0f2a195)
./d8 --concurrent-recompilation js/poc_325020448.js
# C++ cctests — integrate into V8 cctest build, then:
./cctest test-toctou-race/ToctouRaceDeleteProperty
./cctest test-toctou-chain/EndToEndChainInstallNoPatch
./cctest test-toctou-chain/ConsequenceJSConsumption
Siehe BUILD.md für Build-Anweisungen.
Verwandter Fehler in derselben PropertyConstness::kConst-Klasse — Konstanz nicht über Prototyp-Übergänge verallgemeinert. Behoben durch 496f467bb72 (19. Feb. 2024), fünf Wochen nach der CVE-2024-0519-Behebung. Kein öffentliches CVE vergeben. Betrifft Chrome 122 (nach CVE-2024-0519-Patch) bis Chrome 123.
js/poc_325020448.js löst ihn ohne V8-Natives-Flags aus.