Medium chrome Memory Corruption 📄 Reporter bug report 🔧 Commit mapped

Overview

Medium
Severity
—
CVSS
No
Exploited ITW
Fixed
Fix Status
ImpactMemory corruption in Network
DescriptionMemory corruption in Network
ComponentNetwork
Sub-componentInternals>Network
Bug ClassMemory Corruption
Tracker562024413
Fix commite34d8eaec5fa (chromium/src) +11/-3
CISA KEVNot listed
CreditedGoogle
Disclosed2026-10-20

Changed Functions

FunctionChangeNotes
if
chrome/browser/resources/inspect/inspect.js
modified

Files Changed

  • chrome/browser/ui/webui/inspect/inspect_ui.cc
  • chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc
  • chrome/browser/resources/inspect/inspect.js
  • chrome/browser/ui/webui/inspect/BUILD.gn
From e34d8eaec5fa6c2d528275d6e225a4a24ab84e88 Mon Sep 17 00:00:00 2001
From: Maks Orlovich <morlovich@chromium.org>
Date: Wed, 16 Sep 2026 18:07:11 -0700
Subject: [PATCH] Drop network access permission from chrome://inspect

By using chrome://favicon2/

Bug: 41382586, 562024413
Change-Id: I2322c0bf3a1389211c0ff355569f226063db8da1
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8407331
Reviewed-by: John Lee <johntlee@chromium.org>
Commit-Queue: Maks Orlovich <morlovich@chromium.org>
Reviewed-by: Yang Guo <yangguo@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1699390}
---
diff --git a/chrome/browser/resources/inspect/inspect.js b/chrome/browser/resources/inspect/inspect.js
index 4e3545d..533ad677 100644
--- a/chrome/browser/resources/inspect/inspect.js
+++ b/chrome/browser/resources/inspect/inspect.js
@@ -600,7 +600,9 @@
 function addFavicon(row, data) {
   const favicon = document.createElement('img');
   if (data['faviconUrl']) {
-    favicon.src = data['faviconUrl'];
+    const internalURL = new URL('chrome://favicon2/');
+    internalURL.searchParams.set('iconUrl', data['faviconUrl']);
+    favicon.src = internalURL;
   }
   const propertiesBox = row.querySelector('.properties-box');
   propertiesBox.insertBefore(favicon, propertiesBox.firstChild);
diff --git a/chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc b/chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc
index 08682b2..cb75415c 100644
--- a/chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc
+++ b/chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc
@@ -345,8 +345,6 @@
   return
       // https://crbug.com/40571286
       origin.host() == chrome::kChromeUISyncConfirmationHost ||
-      // https://crbug.com/41382586
-      origin.host() == chrome::kChromeUIInspectHost ||
       // https://crbug.com/40583261
       origin.host() == chrome::kChromeUIDownloadsHost ||
       // https://crbug.com/376417346
diff --git a/chrome/browser/ui/webui/inspect/inspect_ui.cc b/chrome/browser/ui/webui/inspect/inspect_ui.cc
index 57a00b8..9202f39f 100644
--- a/chrome/browser/ui/webui/inspect/inspect_ui.cc
+++ b/chrome/browser/ui/webui/inspect/inspect_ui.cc
@@ -28,12 +28,14 @@
 #include "chrome/browser/ui/browser_window/public/browser_window_interface.h"
 #include "chrome/browser/ui/navigator/browser_navigator_params.h"
 #include "chrome/browser/ui/singleton_tabs.h"
+#include "chrome/browser/ui/webui/favicon_source.h"
 #include "chrome/browser/ui/webui/theme_source.h"
 #include "chrome/common/chrome_paths.h"
 #include "chrome/common/pref_names.h"
 #include "chrome/common/url_constants.h"
 #include "chrome/grit/inspect_resources.h"
 #include "chrome/grit/inspect_resources_map.h"
+#include "components/favicon_base/favicon_url_parser.h"
 #include "components/prefs/pref_service.h"
 #include "components/ui_devtools/devtools_server.h"
 #include "components/ui_devtools/switches.h"
@@ -589,6 +591,11 @@
 
   // Set up the chrome://theme/ source.
   content::URLDataSource::Add(profile, std::make_unique<ThemeSource>(profile));
+
+  // As as well as chrome://favicon2/
+  content::URLDataSource::Add(
+      profile, std::make_unique<FaviconSource>(
+                   profile, chrome::FaviconUrlFormat::kFavicon2));
 }
 
 InspectUI::~InspectUI() {
diff --git a/chrome/browser/ui/webui/inspect/BUILD.gn b/chrome/browser/ui/webui/inspect/BUILD.gn
index 4acddb9..95685709 100644
--- a/chrome/browser/ui/webui/inspect/BUILD.gn
+++ b/chrome/browser/ui/webui/inspect/BUILD.gn
@@ -19,6 +19,7 @@
     "//chrome/browser/profiles:profile",
     "//chrome/browser/resources/inspect:resources",
     "//chrome/browser/ui:singleton_tabs",
+    "//chrome/browser/ui/webui:favicon_source",
     "//chrome/browser/ui/webui:theme_source",
     "//chrome/common",
     "//components/prefs",
Loading diff…

Original Bug Report

reported by mo...@chromium.org

Favicon requests from chrome://inspect get excessive cookie permissions.

…due to being issued by a page with a chrome:// scheme; so one could trick them into bypassing things like XSS protection of SameSite cookies.

Likely fix: https://chromium-review.googlesource.com/c/chromium/src/+/8407331 … if that’s still the only thing chrome://inspect needs network for.

View on issue tracker