Electron IPC exposes main-process authority to an untrusted sender
An attacker-controlled renderer or frame invokes a privileged main-process operation through insufficient sender or argument validation.
Candidate CWE: CWE-749 · CWE-863
Test hypothesis#
Trace a legitimate bridge call, then repeat it from an untrusted context reachable through a real feature; compare rejected sender and invalid-argument controls.
Evidence required#
Actual frame/origin, entry path, exposed bridge, IPC handler, argument constraints and one bounded native read/write result.
Rule out false positives#
Context isolation enabled is not a complete defense, but its absence alone is not a finding. Console-only execution does not establish an attacker entry.
Playbook and command references#
- Desktop IPC, Electron bridges and native protocols — Follow page, file and local-process inputs into privileged desktop capabilities with a realistic caller.
- Browser execution, cross-origin reads, and forged actions — Use real browser behavior to distinguish XSS, CSRF, CORS, and messaging failures from header-only leads.
Find the associated command snippets
Referenced by these target playbooks#
Report checklist#
- Capture the affected version, configuration, identities, and object ownership.
- Preserve a valid baseline and a negative control.
- Reproduce the forbidden data access, action, or state change on controlled fixtures.
- Explain the intended security rule and why the observed behavior violates it.
- State prerequisites, uncertainty, cleanup, and the smallest demonstrated impact.
Conditional ATT&CK mapping#
- T1203 · Exploitation for Client Execution — Only if: A client-application vulnerability executes attacker-controlled code when the client processes a file, document, or other content; identify the affected desktop/client process. Not established by: A parser crash alone is insufficient. Ordinary web XSS is not automatically a native client execution exploit, and Mobile uses separate technique IDs.