mirror of
https://github.com/github/codeql.git
synced 2026-02-24 02:43:40 +01:00
Accept MaD sanitizers for queries with MaD sinks
This commit is contained in:
@@ -82,4 +82,8 @@ module CorsPermissiveConfiguration {
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
private class SanitizerFromModel extends Sanitizer {
|
||||
SanitizerFromModel() { ModelOutput::barrierNode(this, "cors-origin") }
|
||||
}
|
||||
}
|
||||
|
||||
@@ -270,4 +270,8 @@ module ClientSideUrlRedirect {
|
||||
private class SinkFromModel extends Sink {
|
||||
SinkFromModel() { ModelOutput::sinkNode(this, "url-redirection") }
|
||||
}
|
||||
|
||||
private class SanitizerFromModel extends Sanitizer {
|
||||
SanitizerFromModel() { ModelOutput::barrierNode(this, "url-redirection") }
|
||||
}
|
||||
}
|
||||
|
||||
@@ -438,4 +438,8 @@ module CodeInjection {
|
||||
private class SinkFromModel extends Sink {
|
||||
SinkFromModel() { ModelOutput::sinkNode(this, "code-injection") }
|
||||
}
|
||||
|
||||
private class SanitizerFromModel extends Sanitizer {
|
||||
SanitizerFromModel() { ModelOutput::barrierNode(this, "code-injection") }
|
||||
}
|
||||
}
|
||||
|
||||
@@ -58,4 +58,8 @@ module CommandInjection {
|
||||
private class SinkFromModel extends Sink {
|
||||
SinkFromModel() { ModelOutput::sinkNode(this, "command-injection") }
|
||||
}
|
||||
|
||||
private class SanitizerFromModel extends Sanitizer {
|
||||
SanitizerFromModel() { ModelOutput::barrierNode(this, "command-injection") }
|
||||
}
|
||||
}
|
||||
|
||||
@@ -421,4 +421,8 @@ module DomBasedXss {
|
||||
private class SinkFromModel extends Sink {
|
||||
SinkFromModel() { ModelOutput::sinkNode(this, "html-injection") }
|
||||
}
|
||||
|
||||
private class SanitizerFromModel extends Sanitizer {
|
||||
SanitizerFromModel() { ModelOutput::barrierNode(this, "html-injection") }
|
||||
}
|
||||
}
|
||||
|
||||
@@ -44,4 +44,14 @@ module HardcodedCredentials {
|
||||
not (super.getCredentialsKind() = "jwt key" and isTestFile(this.getFile()))
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Note that a sanitizer with kind `credentials-key` will sanitize flow to
|
||||
* all sinks, not just sinks with the same kind.
|
||||
*/
|
||||
private class CredentialSanitizerFromModel extends Sanitizer {
|
||||
CredentialSanitizerFromModel() {
|
||||
exists(string kind | ModelOutput::barrierNode(this, "credentials-" + kind))
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -88,3 +88,7 @@ class JsonStringifySanitizer extends Sanitizer {
|
||||
private class SinkFromModel extends Sink {
|
||||
SinkFromModel() { ModelOutput::sinkNode(this, "log-injection") }
|
||||
}
|
||||
|
||||
private class SanitizerFromModel extends Sanitizer {
|
||||
SanitizerFromModel() { ModelOutput::barrierNode(this, "log-injection") }
|
||||
}
|
||||
|
||||
@@ -47,4 +47,8 @@ module NosqlInjection {
|
||||
|
||||
/** An expression interpreted as a NoSql query, viewed as a sink. */
|
||||
class NosqlQuerySink extends Sink instanceof NoSql::Query { }
|
||||
|
||||
private class SanitizerFromModel extends Sanitizer {
|
||||
SanitizerFromModel() { ModelOutput::barrierNode(this, "nosql-injection") }
|
||||
}
|
||||
}
|
||||
|
||||
@@ -147,4 +147,8 @@ module ReflectedXss {
|
||||
private class SinkFromModel extends Sink {
|
||||
SinkFromModel() { ModelOutput::sinkNode(this, "html-injection") }
|
||||
}
|
||||
|
||||
private class SanitizerFromModel extends Sanitizer {
|
||||
SanitizerFromModel() { ModelOutput::barrierNode(this, "html-injection") }
|
||||
}
|
||||
}
|
||||
|
||||
@@ -114,4 +114,8 @@ module RequestForgery {
|
||||
class UriEncodingSanitizer extends Sanitizer instanceof Xss::Shared::UriEncodingSanitizer {
|
||||
UriEncodingSanitizer() { this.encodesPathSeparators() }
|
||||
}
|
||||
|
||||
private class SanitizerFromModel extends Sanitizer {
|
||||
SanitizerFromModel() { ModelOutput::barrierNode(this, "request-forgery") }
|
||||
}
|
||||
}
|
||||
|
||||
@@ -66,4 +66,8 @@ module ServerSideUrlRedirect {
|
||||
private class SinkFromModel extends Sink {
|
||||
SinkFromModel() { ModelOutput::sinkNode(this, "url-redirection") }
|
||||
}
|
||||
|
||||
private class SanitizerFromModel extends Sanitizer {
|
||||
SanitizerFromModel() { ModelOutput::barrierNode(this, "url-redirection") }
|
||||
}
|
||||
}
|
||||
|
||||
@@ -74,4 +74,8 @@ module SqlInjection {
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
private class SanitizerFromModel extends Sanitizer {
|
||||
SanitizerFromModel() { ModelOutput::barrierNode(this, "sql-injection") }
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1124,4 +1124,8 @@ module TaintedPath {
|
||||
private class SinkFromModel extends Sink {
|
||||
SinkFromModel() { ModelOutput::sinkNode(this, "path-injection") }
|
||||
}
|
||||
|
||||
private class SanitizerFromModel extends Sanitizer {
|
||||
SanitizerFromModel() { ModelOutput::barrierNode(this, "path-injection") }
|
||||
}
|
||||
}
|
||||
|
||||
@@ -69,4 +69,8 @@ module UnsafeDeserialization {
|
||||
private class SinkFromModel extends Sink {
|
||||
SinkFromModel() { ModelOutput::sinkNode(this, "unsafe-deserialization") }
|
||||
}
|
||||
|
||||
private class SanitizerFromModel extends Sanitizer {
|
||||
SanitizerFromModel() { ModelOutput::barrierNode(this, "unsafe-deserialization") }
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user