9
9
10
10
import javascript
11
11
import IncompleteHtmlAttributeSanitizationCustomizations:: IncompleteHtmlAttributeSanitization
12
+ private import IncompleteHtmlAttributeSanitizationCustomizations:: IncompleteHtmlAttributeSanitization as IncompleteHtmlAttributeSanitization
12
13
13
- private module Label {
14
+ deprecated private module Label {
14
15
class Quote extends DataFlow:: FlowLabel {
15
16
Quote ( ) { this = [ "\"" , "'" ] }
16
17
}
@@ -26,18 +27,18 @@ private module Label {
26
27
* A taint-tracking configuration for reasoning about incomplete HTML sanitization vulnerabilities.
27
28
*/
28
29
module IncompleteHtmlAttributeSanitizationConfig implements DataFlow:: StateConfigSig {
29
- class FlowState = DataFlow :: FlowLabel ;
30
+ class FlowState = IncompleteHtmlAttributeSanitization :: FlowState ;
30
31
31
- predicate isSource ( DataFlow:: Node source , DataFlow :: FlowLabel label ) {
32
- label = Label :: characterToLabel ( source .( Source ) .getAnUnsanitizedCharacter ( ) )
32
+ predicate isSource ( DataFlow:: Node source , FlowState label ) {
33
+ label = FlowState :: character ( source .( Source ) .getAnUnsanitizedCharacter ( ) )
33
34
}
34
35
35
- predicate isSink ( DataFlow:: Node sink , DataFlow :: FlowLabel label ) {
36
- label = Label :: characterToLabel ( sink .( Sink ) .getADangerousCharacter ( ) )
36
+ predicate isSink ( DataFlow:: Node sink , FlowState label ) {
37
+ label = FlowState :: character ( sink .( Sink ) .getADangerousCharacter ( ) )
37
38
}
38
39
39
- predicate isBarrier ( DataFlow:: Node node , DataFlow :: FlowLabel lbl ) {
40
- lbl = Label :: characterToLabel ( node .( StringReplaceCall ) .getAReplacedString ( ) )
40
+ predicate isBarrier ( DataFlow:: Node node , FlowState lbl ) {
41
+ lbl = FlowState :: character ( node .( StringReplaceCall ) .getAReplacedString ( ) )
41
42
}
42
43
43
44
predicate isBarrier ( DataFlow:: Node n ) { n instanceof Sanitizer }
0 commit comments