POC详情: 4ed2367714cac67ee7fe6a3a4ee49fc8e81d5782

来源
关联漏洞
标题: Google Chrome 安全漏洞 (CVE-2025-6554)
描述:Google Chrome是美国谷歌(Google)公司的一款Web浏览器。 Google Chrome 138.0.7204.96之前版本存在安全漏洞,该漏洞源于V8类型混淆问题,可能导致通过特制HTML页面执行任意读写操作。
介绍
# CVE-2025-6554

**CVE-2025-6554** is a vulnerability in Chrome's V8 (Engine JavaScript) interpreter (Hole Check 'inadequate control in unintended variables within expressions with optional chaining. POC (CVE-2025-6554-POC.JS) explores a flaw in the "Hole" verification mechanism in variables before use, allowing non-initialized values ​​reading-behavior that is normally blocked by a reference.

```js
function leak_hole() {
    let x;
    delete x?.[y]?.a;
    return y;
    let y;
}
function pwn() {
    let hole = leak_hole();
    %DebugPrint(hole);
}
pwn();
```

---

## Technical Explanation

### 1. Structure of the Vulnerable Code
Let x; and let y; declare local scope variables.
The Delete X line?. [Y]?. Use optional chaining to access a nestled property safely.
Problem: Variable Y is used before it was declared, which should launch a referencing, but in the pre-coordination V8, this failed silently, allowing it to capture the special value called "The Hole" (sentinel for TDZ variables-Dead Zone Temporal).
The return value (return Y) in the code should not be accessible because Y is still in TDZ. But the failure allows it.

### 2. Behavior before patch
The mechanism that avoids access to variables in TDZ is ThrowReferenceerrofhole.
Before the patch, this mechanism was invoked only once during Delete X?. [Y]?
The V8 internally marked that variable Y had already been verified as "not being a hole", but this verification was escaping from the controlled scope, and therefore was not reevaluated during the return y.

### 3. What was corrected
The patch adds another mandatory call to ThrowReferenceerrorifhole on return Y, ensuring that any attempt to access Y before the statement correctly fires a mistake.
This verification was guaranteed by the scope oilchecketscope, which was included in all calls to optionalchainnulllabelscope.

## attack flow

```Js
Delete x?. [Y]?. → Try to access Y (not initialized) → Failure to check "Hole" 
→ Y escapes as value → return y; → Capture the value of "Hole" → Debugprint reveals
```
The attacker, when capturing this "Hole", can infer on the inner state of Engine V8, facilitating attacks such as:

- Type Exploration Confusion

- Stack Manipulation

- Scope check circumstance
文件快照

[4.0K] /data/pocs/4ed2367714cac67ee7fe6a3a4ee49fc8e81d5782 ├── [ 21K] Exploit.js ├── [2.2K] README.md └── [ 933] Test-Exploit.js 0 directories, 3 files
神龙机器人已为您缓存
备注
    1. 建议优先通过来源进行访问。
    2. 如果因为来源失效或无法访问,请发送邮箱到 f.jinxu#gmail.com 索取本地快照(把 # 换成 @)。
    3. 神龙已为您对POC代码进行快照,为了长期维护,请考虑为本地POC付费,感谢您的支持。