IPC Sender Verification and Electron.js Version Upgrade
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 44.7k
- Forks
- 3.6k
- Avg merge
- 21m
- Merged PRs (30d)
- 1
Description
Summary:
Thank you for designing the Hyper Desktop Application making it open-source and available. The application does a great job of following secure practices. We list pointers of concern below that can help make the application more secure.
- [Verifying IPC Sender] Since the application uses custom IPC messages (e.g.,
child_process.exec), it will be useful to introduce a mechanism that verifies the sender of the message,event.sender. [Link] - [Keeping up-to-date w/ Electron.js]: The application uses an old version of Electron.js (v20.3.6) and Chromium (v104.0.5112.124) which is vulnerable to numerous known V8 and Blink attacks. Upgrading to an even newer version will be a great idea as well [Link]
Thank you!
Platform(s) Affected:
Windows, Linux, MacOS
–
Mir Masood Ali, PhD student, University of Illinois at Chicago
Mohammad Ghasemisharif, PhD Candidate, University of Illinois at Chicago
Chris Kanich, Associate Professor, University of Illinois at Chicago
Jason Polakis, Associate Professor, University of Illinois at Chicago
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by locating the Electron v20.3.6 dependency and the IPC handlers that invoke child_process.exec, then review Electron's sender-validation guidance. Done means IPC messages validate event.sender and the Electron and Chromium versions are upgraded; verify the affected Windows, Linux, and macOS paths.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- electron
- Domain
- desktop, security
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 32/100