Summary
Electron: Permission Check Handler Receives Main Frame Origin Instead of Requesting Iframe Origin
Advisory details
Impact
For serial-port and media (camera / microphone) permission checks made from an iframe, the requestingOrigin passed to session.setPermissionCheckHandler was the top-level frame's origin rather than the requesting frame's. Origin-based handler logic could therefore grant a cross-origin iframe device access intended only for the top-level origin.
Apps are only affected if they use setPermissionCheckHandler with origin-based logic and embed cross-origin iframes with delegated device permissions. Apps that base the decision on details.securityOrigin, or that do not embed such iframes, are not affected.
Workarounds
Check details.securityOrigin instead of requestingOrigin for these permissions, or do not delegate device permissions to untrusted iframes.
Fixed Versions
42.0.0-beta.141.2.040.9.039.8.7
For more information
If you have any questions or comments about this advisory, email Electron at security@electronjs.org
References
Related vulnerabilities
All Supply chain →- HIGHCVE-2026-19418
TYPO3 CMS - Broken Access Control in Backend and Install Tool
- HIGHCVE-2026-55637
genieacs-mcp: DNS rebinding reaches local GenieACS MCP Streamable HTTP transport
- HIGHCVE-2026-55532
PraisonAI: Origin-validation bypass (startswith prefix match) enables unauthenticated cross-site request forgery against the PraisonAI MCP HTTP server
- MEDIUMCVE-2026-55529
PraisonAI has an origin validation bypass in MCP HTTP Stream transport that allows browser-mediated unauthenticated tool execution on local MCP server
- MEDIUMCVE-2026-67448
Mailpit: WebSocket origin check bypass via percent-encoded path (regression of CVE-2026-22689)
- MEDIUMCVE-2026-69245
Guzzle: Noncanonical cookie domain keeps subdomain scope