mirror of
https://github.com/github/codeql.git
synced 2026-02-22 09:53:41 +01:00
Add allowOriginIsWildcardOrNull predicate
This commit is contained in:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user