
CVE-2024-0519 root cause analysis
| Path | Description |
|---|
harness/test-toctou-race.cc | C++ cctest confirming the TOCTOU race window in GetOwnFastDataPropertyFromHeap |
harness/test-toctou-chain.cc | C++ cctest demonstrating filler embedded as HeapConstant via the broker pipeline |
js/poc_325020448.js | Zero-intrinsics JS trigger for chromium:325020448 (sibling bug, no public CVE) |
js/regress_325020448.js | Official V8 regression test for chromium:325020448 (requires --allow-natives-syntax) |
patches/e0f2a195.md | Fix commit metadata |
# 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
See BUILD.md for build instructions.
Sibling bug in the same PropertyConstness::kConst class — constness not generalized across prototype transitions. Fixed by 496f467bb72 (Feb 19, 2024), five weeks after the CVE-2024-0519 fix. No public CVE assigned. Affects Chrome 122 (post-CVE-2024-0519 patch) through Chrome 123.
js/poc_325020448.js triggers it without any V8 natives flags.