Chrome · XR
CVE-2026-6358
UAF in XR
Overview
Critical
Severity
—
CVSS
No
Exploited ITW
Fixed
Fix Status
Changed Functions
| Function | Change | Notes |
|---|---|---|
fordevice/vr/openxr/openxr_spatial_framework_manager.cc |
modified |
Files Changed
AUTHORSdevice/vr/openxr/openxr_spatial_framework_manager.cc
Patch
From b173791bf4026a6bb43124f7c5f46cfa4539c014 Mon Sep 17 00:00:00 2001 From: p0-tato <[email protected]> Date: Mon, 13 Apr 2026 14:50:07 -0700 Subject: [PATCH] Fix dangling pointers in OpenXrSpatialFrameworkManager Pointers to vector elements were collected during emplace_back, which invalidates them on reallocation. Split into two loops and reserve the correct capacity. Bug: 497724498 Change-Id: I204534bc1bd1522fe03db86f03c2c3e0d285631c Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7735242 Commit-Queue: Brian Sheedy <[email protected]> Reviewed-by: Brian Sheedy <[email protected]> Reviewed-by: Brandon Jones <[email protected]> Cr-Commit-Position: refs/heads/main@{#1613990} --- diff --git a/AUTHORS b/AUTHORS index 44daf5c..675d2c1 100644 --- a/AUTHORS +++ b/AUTHORS @@ -738,6 +738,7 @@ Jihun Brent Kim <[email protected]> Jihwan Marc Kim <[email protected]> Jihye Hyun <[email protected]> +Jihyeon Jeong <[email protected]> Jihyeon Lee <[email protected]> Jim Wu <[email protected]> Jin Yang <[email protected]> diff --git a/device/vr/openxr/openxr_spatial_framework_manager.cc b/device/vr/openxr/openxr_spatial_framework_manager.cc index 2fd3609..b6f82c5 100644 --- a/device/vr/openxr/openxr_spatial_framework_manager.cc +++ b/device/vr/openxr/openxr_spatial_framework_manager.cc @@ -74,12 +74,15 @@ // to help abstract some of the details of creating the child structs, even // though at present we only have a configuration base. std::vector<OpenXrSpatialCapabilityConfigurationBase> capability_configs; - std::vector<XrSpatialCapabilityConfigurationBaseHeaderEXT*> - capability_config_ptrs; + capability_configs.reserve(capability_configuration.size()); for (auto& [capability, components] : capability_configuration) { capability_configs.emplace_back(capability, components); - capability_config_ptrs.push_back( - capability_configs.back().GetAsBaseHeader()); + } + + std::vector<XrSpatialCapabilityConfigurationBaseHeaderEXT*> + capability_config_ptrs; + for (auto& config : capability_configs) { + capability_config_ptrs.push_back(config.GetAsBaseHeader()); } XrSpatialContextCreateInfoEXT create_info = {
Loading diff…
Original Bug Report
The reporter's bug is still restricted on the tracker. Chrome de-restricts security bugs ~30–90 days after the fix ships; a later run will backfill it here.
References
On This Page