Low chrome Logic Error 🔧 Commit mapped

Overview

Low
Severity
CVSS
No
Exploited ITW
Fixed
Fix Status
ImpactInsufficient policy enforcement in CustomTabs
DescriptionInsufficient policy enforcement in CustomTabs
ComponentCustomTabs
Bug ClassLogic Error
Tracker497865734
Fix commitecf5d233be9f (chromium/src) +16/-0
CISA KEVNot listed
CreditedGoogle
Disclosed2026-06-02

Files Changed

  • chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabsConnection.java
From ecf5d233be9f64edc8005a75e9c5945bb8e13689 Mon Sep 17 00:00:00 2001
From: Christian Dullweber <[email protected]>
Date: Fri, 17 Apr 2026 05:57:39 -0700
Subject: [PATCH] CCT: Disable pre-warming logic for incognito intents

A couple of pre-warming methods in CustomTabsConnection are hard-coded
to use the regular profile. For incognito intents they have no benefit
and actually leak information from the incognito intent to the regular
profile so they should be disabled.

Bug: 497865734
Change-Id: Ibf370f58a7743c026a31c5a84a08f38413881663
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7772429
Reviewed-by: Jinsuk Kim <[email protected]>
Commit-Queue: Christian Dullweber <[email protected]>
Commit-Queue: Jinsuk Kim <[email protected]>
Auto-Submit: Christian Dullweber <[email protected]>
Cr-Commit-Position: refs/heads/main@{#1616484}
---

diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabsConnection.java b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabsConnection.java
index 9b0201fc..380dd12 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabsConnection.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabsConnection.java
@@ -1179,6 +1179,11 @@
             return;
         }
 
+        if (IntentHandler.hasAnyIncognitoExtra(intent.getExtras())) {
+            // The prewarming logic below is hard-coded to the regular profile.
+            return;
+        }
+
         // Conditions:
         // - There is a valid redirect endpoint.
         // - The URL's origin is first party with respect to the app.
@@ -1256,6 +1261,12 @@
                 && !ChromeFeatureList.isEnabled(ChromeFeatureList.CCT_MULTIPLE_PARALLEL_REQUESTS)) {
             return ParallelRequestStatus.NO_REQUEST;
         }
+
+        if (IntentHandler.hasAnyIncognitoExtra(intent.getExtras())) {
+            // The prewarming logic below is hard-coded to the regular profile.
+            return ParallelRequestStatus.NO_REQUEST;
+        }
+
         String packageName = mClientManager.getClientPackageNameForSession(session);
         if (session == null
                 || packageName == null
@@ -1329,6 +1340,11 @@
 
         if (!mClientManager.getAllowResourcePrefetchForSession(session)) return 0;
 
+        if (IntentHandler.hasAnyIncognitoExtra(intent.getExtras())) {
+            // The prewarming logic below is hard-coded to the regular profile.
+            return 0;
+        }
+
         List<Uri> resourceList = intent.getParcelableArrayListExtra(RESOURCE_PREFETCH_URL_LIST_KEY);
         Uri referrer = intent.getParcelableExtra(PARALLEL_REQUEST_REFERRER_KEY);
         int policy =
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.