22 * Provides a taint tracking configuration for reasoning about polynomial
33 * regular expression denial-of-service attacks.
44 *
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.
88 */
99
1010private import codeql.ruby.DataFlow
@@ -13,15 +13,17 @@ private import codeql.ruby.TaintTracking
1313/**
1414 * Provides a taint-tracking configuration for detecting polynomial regular
1515 * expression denial of service vulnerabilities.
16+ * DEPRECATED: Use `PolynomialReDoSFlow`
1617 */
17- module PolynomialReDoS {
18+ deprecated module PolynomialReDoS {
1819 import PolynomialReDoSCustomizations:: PolynomialReDoS
1920
2021 /**
2122 * A taint-tracking configuration for detecting polynomial regular expression
2223 * denial of service vulnerabilities.
24+ * DEPRECATED: Use `PolynomialReDoSFlow`
2325 */
24- class Configuration extends TaintTracking:: Configuration {
26+ deprecated class Configuration extends TaintTracking:: Configuration {
2527 Configuration ( ) { this = "PolynomialReDoS" }
2628
2729 override predicate isSource ( DataFlow:: Node source ) { source instanceof Source }
@@ -35,3 +37,19 @@ module PolynomialReDoS {
3537 }
3638 }
3739}
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