2
2
* Provides a taint tracking configuration for reasoning about polynomial
3
3
* regular expression denial-of-service attacks.
4
4
*
5
- * Note, for performance reasons: only import this file if `Configuration` is
6
- * needed. Otherwise, `PolynomialReDoSCustomizations` should be imported
7
- * instead.
5
+ * Note, for performance reasons: only import this file if
6
+ * `PolynomialReDoSFlow` is needed. Otherwise,
7
+ * `PolynomialReDoSCustomizations` should be imported instead.
8
8
*/
9
9
10
10
private import codeql.ruby.DataFlow
@@ -13,15 +13,17 @@ private import codeql.ruby.TaintTracking
13
13
/**
14
14
* Provides a taint-tracking configuration for detecting polynomial regular
15
15
* expression denial of service vulnerabilities.
16
+ * DEPRECATED: Use `PolynomialReDoSFlow`
16
17
*/
17
- module PolynomialReDoS {
18
+ deprecated module PolynomialReDoS {
18
19
import PolynomialReDoSCustomizations:: PolynomialReDoS
19
20
20
21
/**
21
22
* A taint-tracking configuration for detecting polynomial regular expression
22
23
* denial of service vulnerabilities.
24
+ * DEPRECATED: Use `PolynomialReDoSFlow`
23
25
*/
24
- class Configuration extends TaintTracking:: Configuration {
26
+ deprecated class Configuration extends TaintTracking:: Configuration {
25
27
Configuration ( ) { this = "PolynomialReDoS" }
26
28
27
29
override predicate isSource ( DataFlow:: Node source ) { source instanceof Source }
@@ -35,3 +37,19 @@ module PolynomialReDoS {
35
37
}
36
38
}
37
39
}
40
+
41
+ private module PolynomialReDoSConfig implements DataFlow:: ConfigSig {
42
+ private import PolynomialReDoSCustomizations:: PolynomialReDoS
43
+
44
+ predicate isSource ( DataFlow:: Node source ) { source instanceof Source }
45
+
46
+ predicate isSink ( DataFlow:: Node sink ) { sink instanceof Sink }
47
+
48
+ predicate isBarrier ( DataFlow:: Node node ) { node instanceof Sanitizer }
49
+ }
50
+
51
+ /**
52
+ * Taint-tracking for detecting polynomial regular
53
+ * expression denial of service vulnerabilities.
54
+ */
55
+ module PolynomialReDoSFlow = TaintTracking:: Global< PolynomialReDoSConfig > ;
0 commit comments