Skip to content

Commit e3f6bc0

Browse files
committed
Refactor InsecureWebResourceResponse
1 parent 0747453 commit e3f6bc0

File tree

1 file changed

+10
-9
lines changed

1 file changed

+10
-9
lines changed

java/ql/src/experimental/Security/CWE/CWE-200/InsecureWebResourceResponse.ql

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -16,19 +16,20 @@ import semmle.code.java.dataflow.FlowSources
1616
import semmle.code.java.dataflow.TaintTracking
1717
import semmle.code.java.security.PathSanitizer
1818
import AndroidWebResourceResponse
19-
import DataFlow::PathGraph
19+
import InsecureWebResourceResponseFlow::PathGraph
2020

21-
class InsecureWebResourceResponseConfig extends TaintTracking::Configuration {
22-
InsecureWebResourceResponseConfig() { this = "InsecureWebResourceResponseConfig" }
21+
module InsecureWebResourceResponseConfig implements DataFlow::ConfigSig {
22+
predicate isSource(DataFlow::Node src) { src instanceof RemoteFlowSource }
2323

24-
override predicate isSource(DataFlow::Node src) { src instanceof RemoteFlowSource }
24+
predicate isSink(DataFlow::Node sink) { sink instanceof WebResourceResponseSink }
2525

26-
override predicate isSink(DataFlow::Node sink) { sink instanceof WebResourceResponseSink }
27-
28-
override predicate isSanitizer(DataFlow::Node node) { node instanceof PathInjectionSanitizer }
26+
predicate isBarrier(DataFlow::Node node) { node instanceof PathInjectionSanitizer }
2927
}
3028

31-
from DataFlow::PathNode source, DataFlow::PathNode sink, InsecureWebResourceResponseConfig conf
32-
where conf.hasFlowPath(source, sink)
29+
module InsecureWebResourceResponseFlow = TaintTracking::Global<InsecureWebResourceResponseConfig>;
30+
31+
from
32+
InsecureWebResourceResponseFlow::PathNode source, InsecureWebResourceResponseFlow::PathNode sink
33+
where InsecureWebResourceResponseFlow::flowPath(source, sink)
3334
select sink.getNode(), source, sink, "Leaking arbitrary content in Android from $@.",
3435
source.getNode(), "this user input"

0 commit comments

Comments
 (0)