In Electron before versions 7.2.4, 8.2.4, and 9.0.0-beta21, arbitrary local file read is possible by defining unsafe window options on a child window opened via window.open. As a workaround, ensure you are calling event.preventDefault() on all new-window events where the url or options is not something you expect. This is fixed in versions 9.0.0-beta.21, 8.2.4 and 7.2.4.
{
"unresolved_ranges": [
{
"vendor_product": "electronjs:electron",
"cpes": [
"cpe:2.3:a:electronjs:electron:9.0.0:beta10:*:*:*:*:*:*",
"cpe:2.3:a:electronjs:electron:9.0.0:beta11:*:*:*:*:*:*",
"cpe:2.3:a:electronjs:electron:9.0.0:beta12:*:*:*:*:*:*",
"cpe:2.3:a:electronjs:electron:9.0.0:beta13:*:*:*:*:*:*",
"cpe:2.3:a:electronjs:electron:9.0.0:beta14:*:*:*:*:*:*",
"cpe:2.3:a:electronjs:electron:9.0.0:beta15:*:*:*:*:*:*",
"cpe:2.3:a:electronjs:electron:9.0.0:beta16:*:*:*:*:*:*",
"cpe:2.3:a:electronjs:electron:9.0.0:beta17:*:*:*:*:*:*",
"cpe:2.3:a:electronjs:electron:9.0.0:beta18:*:*:*:*:*:*",
"cpe:2.3:a:electronjs:electron:9.0.0:beta19:*:*:*:*:*:*",
"cpe:2.3:a:electronjs:electron:9.0.0:beta1:*:*:*:*:*:*",
"cpe:2.3:a:electronjs:electron:9.0.0:beta20:*:*:*:*:*:*",
"cpe:2.3:a:electronjs:electron:9.0.0:beta2:*:*:*:*:*:*",
"cpe:2.3:a:electronjs:electron:9.0.0:beta3:*:*:*:*:*:*",
"cpe:2.3:a:electronjs:electron:9.0.0:beta4:*:*:*:*:*:*",
"cpe:2.3:a:electronjs:electron:9.0.0:beta5:*:*:*:*:*:*",
"cpe:2.3:a:electronjs:electron:9.0.0:beta6:*:*:*:*:*:*",
"cpe:2.3:a:electronjs:electron:9.0.0:beta7:*:*:*:*:*:*",
"cpe:2.3:a:electronjs:electron:9.0.0:beta8:*:*:*:*:*:*",
"cpe:2.3:a:electronjs:electron:9.0.0:beta9:*:*:*:*:*:*"
],
"source": "CPE_STRING",
"extracted_events": [
{
"introduced": "9.0.0-beta1"
},
{
"last_affected": "9.0.0-beta1"
},
{
"introduced": "9.0.0-beta10"
},
{
"last_affected": "9.0.0-beta10"
},
{
"introduced": "9.0.0-beta11"
},
{
"last_affected": "9.0.0-beta11"
},
{
"introduced": "9.0.0-beta12"
},
{
"last_affected": "9.0.0-beta12"
},
{
"introduced": "9.0.0-beta13"
},
{
"last_affected": "9.0.0-beta13"
},
{
"introduced": "9.0.0-beta14"
},
{
"last_affected": "9.0.0-beta14"
},
{
"introduced": "9.0.0-beta15"
},
{
"last_affected": "9.0.0-beta15"
},
{
"introduced": "9.0.0-beta16"
},
{
"last_affected": "9.0.0-beta16"
},
{
"introduced": "9.0.0-beta17"
},
{
"last_affected": "9.0.0-beta17"
},
{
"introduced": "9.0.0-beta18"
},
{
"last_affected": "9.0.0-beta18"
},
{
"introduced": "9.0.0-beta19"
},
{
"last_affected": "9.0.0-beta19"
},
{
"introduced": "9.0.0-beta2"
},
{
"last_affected": "9.0.0-beta2"
},
{
"introduced": "9.0.0-beta20"
},
{
"last_affected": "9.0.0-beta20"
},
{
"introduced": "9.0.0-beta3"
},
{
"last_affected": "9.0.0-beta3"
},
{
"introduced": "9.0.0-beta4"
},
{
"last_affected": "9.0.0-beta4"
},
{
"introduced": "9.0.0-beta5"
},
{
"last_affected": "9.0.0-beta5"
},
{
"introduced": "9.0.0-beta6"
},
{
"last_affected": "9.0.0-beta6"
},
{
"introduced": "9.0.0-beta7"
},
{
"last_affected": "9.0.0-beta7"
},
{
"introduced": "9.0.0-beta8"
},
{
"last_affected": "9.0.0-beta8"
},
{
"introduced": "9.0.0-beta9"
},
{
"last_affected": "9.0.0-beta9"
}
]
}
]
}{
"cpe": [
"cpe:2.3:a:electronjs:electron:*:*:*:*:*:*:*:*",
"cpe:2.3:a:electronjs:electron:9.0.0:-:*:*:*:*:*:*"
],
"extracted_events": [
{
"introduced": "7.0.0"
},
{
"fixed": "7.2.4"
},
{
"introduced": "8.0.0"
},
{
"fixed": "8.2.4"
},
{
"introduced": "9.0.0-NA"
},
{
"last_affected": "9.0.0-NA"
}
],
"source": [
"CPE_RANGE",
"CPE_STRING"
]
}