Summary
setWindowOpenHandler allows any URL not starting with http to load in the BrowserWindow including file://, data:, and ftp://. A compromised Flask response can read local files.
Location
main.js — setWindowOpenHandler, lines ~164-169
Risk
Local file read via renderer navigation. data: URLs can run arbitrary JS.
Proposed Fix
Change the final return from { action: 'allow' } to { action: 'deny' }.
Summary
setWindowOpenHandler allows any URL not starting with http to load in the BrowserWindow including file://, data:, and ftp://. A compromised Flask response can read local files.
Location
main.js — setWindowOpenHandler, lines ~164-169
Risk
Local file read via renderer navigation. data: URLs can run arbitrary JS.
Proposed Fix
Change the final return from { action: 'allow' } to { action: 'deny' }.