mirror of
https://github.com/github/codeql.git
synced 2026-04-27 01:35:13 +02:00
Add taint flow for Commander.js direct property access and action callbacks
This commit is contained in:
@@ -96,8 +96,17 @@ private class ArgsParseStep extends TaintTracking::SharedTaintStep {
|
||||
)
|
||||
or
|
||||
exists(API::Node commanderNode | commanderNode = commander() |
|
||||
pred = commanderNode.getMember("parse").getACall().getAnArgument() and
|
||||
succ = commanderNode.getMember("opts").getACall()
|
||||
pred = commanderNode.getMember(["parse", "parseAsync"]).getACall().getAnArgument() and
|
||||
succ =
|
||||
[
|
||||
commanderNode.getMember("opts").getACall(), commanderNode.getAMember().asSource(),
|
||||
commander()
|
||||
.getMember("action")
|
||||
.getACall()
|
||||
.getArgument(0)
|
||||
.(DataFlow::FunctionNode)
|
||||
.getAParameter()
|
||||
]
|
||||
)
|
||||
or
|
||||
exists(DataFlow::MethodCallNode methodCall | methodCall = yargs() |
|
||||
|
||||
Reference in New Issue
Block a user