Chrome · Updater
CVE-2026-7997
Logic Error in Updater
Overview
Low
Severity
—
CVSS
No
Exploited ITW
Fixed
Fix Status
Files Changed
chrome/updater/mac/privileged_helper/service.mm
Patch
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.
References
On This Page