Add allowOriginIsWildcardOrNull predicate

This commit is contained in:
Slavomir
2021-05-22 18:32:48 +02:00
parent 924e445ce9
commit 9d1f13fe9b

View File

@@ -69,16 +69,24 @@ predicate flowsFromUntrustedToAllowOrigin(HTTP::HeaderWrite allowOriginHW, strin
)
}
/**
* Holds if the provided `allowOriginHW` HeaderWrite is for a `Access-Control-Allow-Origin`
* header and the value is set to `*` or `null`.
*/
predicate allowOriginIsWildcardOrNull(HTTP::HeaderWrite allowOriginHW, string message) {
allowOriginHW.getHeaderName() = headerAllowOrigin() and
allowOriginHW.getHeaderValue() = ["*", "null"] and
message =
headerAllowOrigin() + " header is set to `" + allowOriginHW.getHeaderValue() + "`, and " +
headerAllowCredentials() + " is set to `true`"
}
from HTTP::HeaderWrite allowOriginHW, string message
where
(
flowsFromUntrustedToAllowOrigin(allowOriginHW, message)
or
allowOriginHW.getHeaderName() = headerAllowOrigin() and
allowOriginHW.getHeaderValue() = ["*", "null"] and
message =
headerAllowOrigin() + " header is set to `" + allowOriginHW.getHeaderValue() + "`, and " +
headerAllowCredentials() + " is set to `true`"
allowOriginIsWildcardOrNull(allowOriginHW, message)
) and
allowCredentialsIsSetToTrue(allowOriginHW)
select allowOriginHW, message