Skip to content

Commit 254072d

Browse files
authored
Merge pull request #4546 from toufik-airane/main
JS: Add ElectronShellOpenExternalSink class for Electron framework security
2 parents 3eb55dd + 7d2741a commit 254072d

File tree

1 file changed

+11
-0
lines changed

1 file changed

+11
-0
lines changed

javascript/ql/src/semmle/javascript/security/dataflow/ClientSideUrlRedirect.qll

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -60,4 +60,15 @@ module ClientSideUrlRedirect {
6060
guard instanceof HostnameSanitizerGuard
6161
}
6262
}
63+
64+
/**
65+
* Improper use of openExternal can be leveraged to compromise the user's host.
66+
* When openExternal is used with untrusted content, it can be leveraged to execute arbitrary commands.
67+
*/
68+
class ElectronShellOpenExternalSink extends Sink {
69+
ElectronShellOpenExternalSink() {
70+
this =
71+
DataFlow::moduleMember("electron", "shell").getAMemberCall("openExternal").getArgument(0)
72+
}
73+
}
6374
}

0 commit comments

Comments
 (0)