huseyinstif/CVE-2026-13036-PoC
GitHub: huseyinstif/CVE-2026-13036-PoC
Chrome Blink 引擎 WidgetBase::UpdateSurfaceAndScreenInfo 函数 Use-After-Free 漏洞(CVE-2026-13036)的概念验证代码,演示通过屏幕方向变更事件重入销毁 frame 来触发渲染器进程崩溃。
Stars: 0 | Forks: 0
# CVE-2026-13036 — Blink 中的 Use-After-Free (`WidgetBase::UpdateSurfaceAndScreenInfo`)





| | |
|---|---|
| **CVE** | CVE-2026-13036 |
| **CWE** | CWE-416 (Use After Free) |
| **CVSS 3.1** | 8.8 (高) — `AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H` |
| **组件** | Blink — `third_party/blink/renderer/platform/widget/widget_base.cc` |
| **修复版本** | Chrome **149.0.7827.197** (Windows / macOS), **149.0.7827.196** (Linux) |
| **受影响版本** | Chrome **< 149.0.7827.197** |
| **Chromium bug** | [523711130](https://issues.chromium.org/issues/523711130) (访问受限) |
| **修复 Change-Id** | `If70c28a4a616b4909dade238d8c39b001956fd05` |
| **影响** | 渲染进程 RCE (沙盒环境) |
## 根本原因
每当浏览器将新的视觉属性(viewport、surface id、**screen info**)推送给渲染器 widget 时(例如在调整大小、更改显示或更新屏幕方向时),就会调用 `WidgetBase::UpdateSurfaceAndScreenInfo()`。当新的 screen info 报告不同的方向角度/类型时,Blink 会通知页面,以便它可以触发 JavaScript 的 `orientationchange` / `screen.orientation` `change` 事件:
```
// third_party/blink/renderer/platform/widget/widget_base.cc (VULNERABLE)
void WidgetBase::UpdateSurfaceAndScreenInfo(
const viz::LocalSurfaceId& new_local_surface_id,
const gfx::Rect& compositor_viewport_pixel_rect,
const display::ScreenInfos& screen_infos) {
// ... compute orientation_changed ...
if (orientation_changed) {
client_->OrientationChanged(); // <-- runs author JS synchronously
}
// `this` may already be freed here:
client_->DidUpdateSurfaceAndScreen(previous_original_screen_infos); // UAF
}
```
`client_->OrientationChanged()` 会在渲染器的主线程上**同步**分发 DOM 事件。在此回调期间,攻击者控制的处理程序可以销毁拥有此 `WidgetBase` 的那个 frame —— 例如,从父文档中移除托管的 `
标签:Chrome, Go语言工具, Maven, UAF, 内存安全, 多模态安全, 数据可视化, 漏洞验证