move TaintedPath sink into TaintedPathCustomizations to avoid side-effects

This commit is contained in:
Erik Krogh Kristensen
2021-06-02 21:25:48 +02:00
parent 27ff256b0e
commit 1e19da155c
2 changed files with 21 additions and 23 deletions

View File

@@ -26,27 +26,4 @@ private module Prettier {
)
}
}
private import semmle.javascript.security.dataflow.TaintedPathCustomizations::TaintedPath as TaintedPath
/**
* An argument given to the `prettier` library specificing the location of a config file.
*/
private class PrettierFileSink extends TaintedPath::Sink {
PrettierFileSink() {
this =
API::moduleImport("prettier")
.getMember(["resolveConfig", "resolveConfigFile", "getFileInfo"])
.getACall()
.getArgument(0)
or
this =
API::moduleImport("prettier")
.getMember("resolveConfig")
.getACall()
.getParameter(1)
.getMember("config")
.getARhs()
}
}
}

View File

@@ -650,6 +650,27 @@ module TaintedPath {
}
}
/**
* An argument given to the `prettier` library specificing the location of a config file.
*/
private class PrettierFileSink extends TaintedPath::Sink {
PrettierFileSink() {
this =
API::moduleImport("prettier")
.getMember(["resolveConfig", "resolveConfigFile", "getFileInfo"])
.getACall()
.getArgument(0)
or
this =
API::moduleImport("prettier")
.getMember("resolveConfig")
.getACall()
.getParameter(1)
.getMember("config")
.getARhs()
}
}
/**
* Holds if there is a step `src -> dst` mapping `srclabel` to `dstlabel` relevant for path traversal vulnerabilities.
*/