Skip to content

Commit 1c25363

Browse files
committed
Make ReflectedXss use new API
1 parent 3d9f8d5 commit 1c25363

2 files changed

Lines changed: 17 additions & 5 deletions

File tree

go/ql/lib/semmle/go/security/ReflectedXss.qll

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,9 +17,11 @@ module ReflectedXss {
1717
import ReflectedXssCustomizations::ReflectedXss
1818

1919
/**
20+
* DEPRECATED: Use `Flow` instead.
21+
*
2022
* A taint-tracking configuration for reasoning about XSS.
2123
*/
22-
class Configuration extends TaintTracking::Configuration {
24+
deprecated class Configuration extends TaintTracking::Configuration {
2325
Configuration() { this = "ReflectedXss" }
2426

2527
override predicate isSource(DataFlow::Node source) { source instanceof Source }
@@ -35,4 +37,14 @@ module ReflectedXss {
3537
guard instanceof SanitizerGuard
3638
}
3739
}
40+
41+
private module Config implements DataFlow::ConfigSig {
42+
predicate isSource(DataFlow::Node source) { source instanceof Source }
43+
44+
predicate isSink(DataFlow::Node sink) { sink instanceof Sink }
45+
46+
predicate isBarrier(DataFlow::Node node) { node instanceof Sanitizer }
47+
}
48+
49+
module Flow = TaintTracking::Global<Config>;
3850
}

go/ql/src/Security/CWE-079/ReflectedXss.ql

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,14 +13,14 @@
1313
*/
1414

1515
import go
16-
import semmle.go.security.ReflectedXss::ReflectedXss
17-
import DataFlow::PathGraph
16+
import semmle.go.security.ReflectedXss
17+
import ReflectedXss::Flow::PathGraph
1818

1919
from
20-
Configuration cfg, DataFlow::PathNode source, DataFlow::PathNode sink, string msg, string part,
20+
ReflectedXss::Flow::PathNode source, ReflectedXss::Flow::PathNode sink, string msg, string part,
2121
Locatable partloc
2222
where
23-
cfg.hasFlowPath(source, sink) and
23+
ReflectedXss::Flow::flowPath(source, sink) and
2424
(
2525
exists(string kind | kind = sink.getNode().(SharedXss::Sink).getSinkKind() |
2626
kind = "rawtemplate" and

0 commit comments

Comments
 (0)