Chrome · CustomTabs
CVE-2026-11247
Logic Error in CustomTabs
Overview
Low
Severity
—
CVSS
No
Exploited ITW
Fixed
Fix Status
Files Changed
chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabsConnection.java
Patch
From ecf5d233be9f64edc8005a75e9c5945bb8e13689 Mon Sep 17 00:00:00 2001
From: Christian Dullweber <dullweber@chromium.org>
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 <jinsukkim@chromium.org>
Commit-Queue: Christian Dullweber <dullweber@chromium.org>
Commit-Queue: Jinsuk Kim <jinsukkim@chromium.org>
Auto-Submit: Christian Dullweber <dullweber@chromium.org>
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.
References
On This Page