diff --git a/java/ql/src/experimental/Security/CWE/CWE-299/DisabledRevocationChecking.ql b/java/ql/src/experimental/Security/CWE/CWE-299/DisabledRevocationChecking.ql index 6d4c46d755e..e8e8a9424cf 100644 --- a/java/ql/src/experimental/Security/CWE/CWE-299/DisabledRevocationChecking.ql +++ b/java/ql/src/experimental/Security/CWE/CWE-299/DisabledRevocationChecking.ql @@ -13,8 +13,8 @@ import java import RevocationCheckingLib -import DataFlow::PathGraph +import DisabledRevocationCheckingFlow::PathGraph -from DataFlow::PathNode source, DataFlow::PathNode sink, DisabledRevocationCheckingConfig config -where config.hasFlowPath(source, sink) +from DisabledRevocationCheckingFlow::PathNode source, DisabledRevocationCheckingFlow::PathNode sink +where DisabledRevocationCheckingFlow::flowPath(source, sink) select source.getNode(), source, sink, "This disables revocation checking." diff --git a/java/ql/src/experimental/Security/CWE/CWE-299/RevocationCheckingLib.qll b/java/ql/src/experimental/Security/CWE/CWE-299/RevocationCheckingLib.qll index 39642de21fd..52f89f7c072 100644 --- a/java/ql/src/experimental/Security/CWE/CWE-299/RevocationCheckingLib.qll +++ b/java/ql/src/experimental/Security/CWE/CWE-299/RevocationCheckingLib.qll @@ -5,16 +5,16 @@ import DataFlow /** * A taint-tracking configuration for disabling revocation checking. */ -class DisabledRevocationCheckingConfig extends TaintTracking::Configuration { - DisabledRevocationCheckingConfig() { this = "DisabledRevocationCheckingConfig" } - - override predicate isSource(DataFlow::Node source) { - exists(BooleanLiteral b | b.getBooleanValue() = false | source.asExpr() = b) +module DisabledRevocationCheckingConfig implements DataFlow::ConfigSig { + predicate isSource(DataFlow::Node source) { + source.asExpr().(BooleanLiteral).getBooleanValue() = false } - override predicate isSink(DataFlow::Node sink) { sink instanceof SetRevocationEnabledSink } + predicate isSink(DataFlow::Node sink) { sink instanceof SetRevocationEnabledSink } } +module DisabledRevocationCheckingFlow = TaintTracking::Global; + /** * A sink that disables revocation checking, * i.e. calling `PKIXParameters.setRevocationEnabled(false)`