Repository navigation
fix(desktop): upgrade Electron for the macOS GPU sandbox fix - #28123
Hypermaker2 wants to merge 2 commits into
Conversation
ApprovabilityVerdict: Approved at Macroscope's review found this PR approvable — This supports the Electron sandbox fix with an updated ABI dependency and stricter preload validation. Reported sandboxed-runtime smoke testing provides relevant compatibility evidence, with no product-default or permission expansion identified. You can add or adjust custom eligibility rules. Learn more. |
|
No actionable comments were generated in the recent review. Walkthrough
Merge Risk:
|
Status update: this upgrade is on hold pending upstream Electron assessment. The macOS GPU/TCC fix remains outstanding on current This PR remains open. Once upstream resolves the concern, I will refresh it against current |
|
Update (2026-11-05): upstream hold cleared; refreshed to Electron 45.2.3. Pushed Fresh validation passes:
The launch fixture isolates app data and disables OS credential-storage availability to avoid the unsigned app's keychain stall. Signed authentication/passkeys, keychain integration, recording permissions, and Windows/Linux remain unverified; the PR body records these limits. GitHub reports the branch as conflict-free. CI is queued, and fresh CI/review results are still pending. |
Dismissed: unsolicited automated review from a blocked account.
Problem
Current
mainpins Electron 44.10.1 / Chromium 152 and lacks Chromium's macOS GPU TCC-responsibility fix. The upstream fix prevents a GPU child from inheriting an authorized parent's TCC context when the browser is launched directly. Exploitation also requires a browser-process compromise; this PR does not claim that an arbitrary page alone can execute commands.Change
Upgrade the desktop runtime to Electron 45.2.3 / Chromium 156.0.8078.80, including its exact release-age exception and lockfile.
node-abito 4.40.0 so native rebuilds recognize Electron 45's ABI 150.main(0d3b01a8884b) and resolve the dependency-file conflicts.Status, 2026-11-05: the upstream runtime concern that prompted the earlier hold no longer reproduces on 45.2.3, and the private report has been updated with that verification. The upstream hold is cleared. GitHub CI passed on
cd5b03f083; CodeRabbit reported no actionable findings on that commit. Maintainer review and the remaining validation listed below are still outstanding. Private report details are not disclosed here.References: Chromium GPU/TCC fix, research and prerequisites, Electron 45.2.3, Electron 45 breaking changes.
Scope and approval
Submitted under the focused-fix exception for a specific upstream security-runtime defect. The ABI and verifier changes are required compatibility work for that same upgrade. No product defaults, UI design, shared contracts, or unrelated application behavior are intentionally changed. No prior maintainer approval is claimed.
Verification
Fresh validation of
cd5b03f083on macOS 27.0.1 / Apple Silicon:vp run check:changed upstream/mainpasses: formatting, lint, unused patches, knip, affected typechecks, and all 10 selected tests across 2 files.vp run dist:desktop:artifact --platform mac --target dir --arch arm64succeeds. This builds desktop/server/web bundles, rebuilds native dependencies for Electron 45.2.3, generates server bytecode using the packaged runtime, and validates the macOS payload.MacDisclaimGpuTccResponsibility; 44.10.1 does not. This is source/version evidence, not an exploit-chain reproduction.The smoke fixture uses an isolated database and Chromium profile. Before application entry, inspector instrumentation redirects the process's home-path lookup and stubs OS credential-storage availability to false; packaged files are unchanged. Without that credential-storage stub, the unsigned app's keychain check stalled. These results do not validate macOS keychain integration, signed authentication/passkeys, recording/capture permissions, Windows/Linux, or an exploit chain. Those remain release/maintainer checks.
The existing standalone VM preload verifier lacks a DOM for the macOS preload path; the real sandboxed packaged-runtime checks above cover the bundles instead. The installed T3 Code app was not modified.
Model: GPT-6-Astra. Harness: Codex in T3 Code.