Low chrome Logic Error 🔧 Commit mapped

Overview

Low
Severity
CVSS
No
Exploited ITW
Fixed
Fix Status
ImpactInsufficient validation of untrusted input in Updater
DescriptionInsufficient validation of untrusted input in Updater
ComponentUpdater
Bug ClassLogic Error
Tracker487960705
Fix commitde06591e9e1e (chromium/src) +18/-0
CISA KEVNot listed
Creditedochkofficial
Disclosed2026-05-05

Files Changed

  • chrome/updater/mac/privileged_helper/service.mm
From de06591e9e1e600355ceb627b49fd9cbe5ee1d86 Mon Sep 17 00:00:00 2001
From: Joshua Pawlicki <[email protected]>
Date: Wed, 15 Apr 2026 15:59:06 -0700
Subject: [PATCH] Privileged Helper: Verify XPC connection

Bug: 487960705
Change-Id: Iefb022003c6d5e66d4876dad3ae11c0142b3b288
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7684953
Auto-Submit: Joshua Pawlicki <[email protected]>
Reviewed-by: Adam Norberg <[email protected]>
Commit-Queue: Adam Norberg <[email protected]>
Cr-Commit-Position: refs/heads/main@{#1615471}
---

diff --git a/chrome/updater/mac/privileged_helper/service.mm b/chrome/updater/mac/privileged_helper/service.mm
index 11ca840..bb17d2b 100644
--- a/chrome/updater/mac/privileged_helper/service.mm
+++ b/chrome/updater/mac/privileged_helper/service.mm
@@ -22,6 +22,7 @@
 #include "base/functional/callback.h"
 #include "base/logging.h"
 #include "base/mac/mac_util.h"
+#include "base/mac/process_requirement.h"
 #include "base/memory/raw_ptr.h"
 #include "base/memory/scoped_refptr.h"
 #include "base/process/launch.h"
@@ -38,6 +39,10 @@
 #include "chrome/updater/util/posix_util.h"
 #include "chrome/updater/util/util.h"
 
+@interface NSXPCConnection (Private)
+@property(readonly) audit_token_t auditToken;
+@end
+
 @interface PrivilegedHelperServiceImpl
     : NSObject <PrivilegedHelperServiceProtocol> {
   raw_ptr<updater::PrivilegedHelperService> _service;
@@ -106,6 +111,19 @@
 
 - (BOOL)listener:(NSXPCListener*)listener
     shouldAcceptNewConnection:(NSXPCConnection*)newConnection {
+  std::optional<base::mac::ProcessRequirement> requirement =
+      base::mac::ProcessRequirement::Builder()
+          .IdentifierIsOneOf({MAC_BROWSER_BUNDLE_IDENTIFIER_STRING,
+                              MAC_BROWSER_BUNDLE_IDENTIFIER_STRING ".beta",
+                              MAC_BROWSER_BUNDLE_IDENTIFIER_STRING ".dev",
+                              MAC_BROWSER_BUNDLE_IDENTIFIER_STRING ".canary"})
+          .SignedWithSameIdentity()
+          .Build();
+  if (!requirement || !requirement->ValidateProcess(newConnection.auditToken)) {
+    // TODO(crbug.com/494281198): Consider shutting down and uninstalling.
+    return NO;
+  }
+
   newConnection.exportedInterface = [NSXPCInterface
       interfaceWithProtocol:@protocol(PrivilegedHelperServiceProtocol)];
 
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.