Skip to content

Commit f5e4339

Browse files
committed
Ruby: renames for rb/stored-xss
1 parent 030aae5 commit f5e4339

File tree

2 files changed

+26
-19
lines changed

2 files changed

+26
-19
lines changed

ruby/ql/lib/codeql/ruby/security/StoredXSSQuery.qll

Lines changed: 23 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -3,16 +3,19 @@
33
* cross-site scripting vulnerabilities.
44
*
55
* Note, for performance reasons: only import this file if
6-
* `StoredXSS::Configuration` is needed, otherwise
7-
* `XSS::StoredXSS` should be imported instead.
6+
* `StoredXssFlow` is needed, otherwise
7+
* `XSS::StoredXss` should be imported instead.
88
*/
99

1010
import codeql.ruby.AST
1111
import codeql.ruby.DataFlow
1212
import codeql.ruby.TaintTracking
1313

14-
/** Provides a taint-tracking configuration for cross-site scripting vulnerabilities. */
15-
module StoredXss {
14+
/**
15+
* Provides a taint-tracking configuration for cross-site scripting vulnerabilities.
16+
* DEPRECATED: Use StoredXssFlow
17+
*/
18+
deprecated module StoredXss {
1619
import XSS::StoredXss
1720

1821
/**
@@ -41,20 +44,24 @@ module StoredXss {
4144
}
4245
}
4346

44-
/**
45-
* A taint-tracking configuration for reasoning about Stored XSS.
46-
*/
47-
private module Config implements DataFlow::ConfigSig {
48-
predicate isSource(DataFlow::Node source) { source instanceof Source }
47+
import TaintTracking::Global<StoredXssConfig>
48+
}
4949

50-
predicate isSink(DataFlow::Node sink) { sink instanceof Sink }
50+
private module StoredXssConfig implements DataFlow::ConfigSig {
51+
private import XSS::StoredXss
5152

52-
predicate isBarrier(DataFlow::Node node) { node instanceof Sanitizer }
53+
predicate isSource(DataFlow::Node source) { source instanceof Source }
5354

54-
predicate isAdditionalFlowStep(DataFlow::Node node1, DataFlow::Node node2) {
55-
isAdditionalXssTaintStep(node1, node2)
56-
}
57-
}
55+
predicate isSink(DataFlow::Node sink) { sink instanceof Sink }
5856

59-
import TaintTracking::Global<Config>
57+
predicate isBarrier(DataFlow::Node node) { node instanceof Sanitizer }
58+
59+
predicate isAdditionalFlowStep(DataFlow::Node node1, DataFlow::Node node2) {
60+
isAdditionalXssTaintStep(node1, node2)
61+
}
6062
}
63+
64+
/**
65+
* Taint-tracking for reasoning about Stored XSS.
66+
*/
67+
module StoredXssFlow = TaintTracking::Global<StoredXssConfig>;

ruby/ql/src/queries/security/cwe-079/StoredXSS.ql

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,9 +14,9 @@
1414

1515
import codeql.ruby.AST
1616
import codeql.ruby.security.StoredXSSQuery
17-
import StoredXss::PathGraph
17+
import StoredXssFlow::PathGraph
1818

19-
from StoredXss::PathNode source, StoredXss::PathNode sink
20-
where StoredXss::flowPath(source, sink)
19+
from StoredXssFlow::PathNode source, StoredXssFlow::PathNode sink
20+
where StoredXssFlow::flowPath(source, sink)
2121
select sink.getNode(), source, sink, "Stored cross-site scripting vulnerability due to $@.",
2222
source.getNode(), "stored value"

0 commit comments

Comments
 (0)