Repository navigation
fix(security): update Electron to patched release (CVE-2026-70608) - #6212
Conversation
Electron 40.x never received a backport for GHSA-9f4c-93c8-jc8g, where setWindowOpenHandler's OpenURL navigation path skipped the sandboxed iframe allow-popups restriction. Bump to 41.10.3, the first patched release. better-sqlite3 needed a matching bump to 12.11.1 across desktop, host-service, and chat-runtime since its native bindings used a V8 PropertyCallbackInfo API removed in Electron 41's bundled V8.
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Plus Run ID: ⛔ Files ignored due to path filters (1)
📒 Files selected for processing (3)
📝 WalkthroughWalkthroughThe pull request updates ChangesDependency version alignment
Estimated code review effort: 1 (Trivial) | ~2 minutes Possibly related PRs
Suggested reviewers: 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Greptile SummaryThe PR upgrades Electron to the first patched 41.x release for CVE-2026-70608 and updates better-sqlite3 across all direct consumers for compatibility with Electron 41's V8 runtime.
Confidence Score: 5/5The PR appears safe to merge, with the dependency manifests and lockfile consistently aligned to the patched Electron release. The changes are limited to coordinated dependency upgrades, and no concrete build, runtime, packaging, or security regression is present in the accepted findings.
|
| Filename | Overview |
|---|---|
| apps/desktop/package.json | Updates Electron to the patched release and aligns better-sqlite3 with Electron 41's newer V8 runtime. |
| packages/host-service/package.json | Keeps the host-service's direct better-sqlite3 version aligned with the desktop runtime. |
| packages/chat-runtime/package.json | Keeps the chat runtime's direct better-sqlite3 version aligned with the other SQLite consumers. |
| bun.lock | Consistently resolves the requested Electron and better-sqlite3 upgrades and their changed transitive dependencies. |
Reviews (1): Last reviewed commit: "fix(security): update Electron to patche..." | Re-trigger Greptile
🚀 Preview Deployment🔗 Preview Links
Preview updates automatically with new commits |
Summary
allow-popupsrestriction via Electron's OpenURL navigation path insetWindowOpenHandler.electron40.9.3 → 41.10.3inapps/desktop— Electron does not backport security patches to the 40.x line; 41.10.3 is the first patched release.better-sqlite312.6.2 → 12.11.1inapps/desktop,packages/host-service, andpackages/chat-runtime, since its native bindings called a V8PropertyCallbackInfo::This()API that Electron 41's newer bundled V8 removed (fixed upstream inbetter-sqlite3@12.8.0viaHolderV2()).setWindowOpenHandlerimplementations (apps/desktop/src/lib/electron-app/factories/windows/create.ts,apps/desktop/src/main/lib/browser/browser-manager.ts) already unconditionallydenywindow creation — the pattern the advisory calls out as unaffected even pre-patch — so this is a supply-chain version fix, not a behavioral gap.Test plan
bun install— native modules (better-sqlite3, node-pty, @parcel/watcher, etc.) rebuild cleanly against Electron 41.10.3bun run typecheck(apps/desktop) — passes with 0 errorsbun run lint:fix— clean, no fixes neededbun test(apps/desktop) — 2532 pass, 0 failhttps://claude.ai/code/session_019C4QXK3fZBBKtxJud6mNkB
Summary by cubic
Update
electronto 41.10.3 to patch CVE-2026-70608 (GHSA-9f4c-93c8-jc8g) that allowed sandboxed iframes to bypass allow-popups via the OpenURL path. OursetWindowOpenHandleralready denies new windows, but this ensures we ship the patched runtime.electron: 40.9.3 → 41.10.3 inapps/desktopbetter-sqlite3: 12.6.2 → 12.11.1 inapps/desktop,packages/host-service,packages/chat-runtime(required for Electron 41’s V8 changes)Written for commit f69535d. Summary will update on new commits.
Summary by CodeRabbit