Skip to content

Commit 1f02594

Browse files
committed
rename and move getAPropertyNameInterpretedAsJavaScriptUrl
1 parent 5b5bace commit 1f02594

File tree

3 files changed

+11
-9
lines changed

3 files changed

+11
-9
lines changed

javascript/ql/src/semmle/javascript/DOM.qll

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -491,4 +491,11 @@ module DOM {
491491
or
492492
result.hasUnderlyingType("Document")
493493
}
494+
495+
/**
496+
* Holds if a value assigned to property `name` of a DOM node can be interpreted as JavaScript via the `javascript:` protocol.
497+
*/
498+
string getAPropertyNameInterpretedAsJavaScriptUrl() {
499+
result = ["action", "formaction", "href", "src", "data"]
500+
}
494501
}

javascript/ql/src/semmle/javascript/security/dataflow/ClientSideUrlRedirectCustomizations.qll

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -172,7 +172,9 @@ module ClientSideUrlRedirect {
172172
*/
173173
class ReactAttributeWriteUrlSink extends ScriptUrlSink {
174174
ReactAttributeWriteUrlSink() {
175-
exists(JSXAttribute attr | attr.getName() = propertyNameIsInterpretedAsJavaScriptUrl() |
175+
exists(JSXAttribute attr |
176+
attr.getName() = DOM::getAPropertyNameInterpretedAsJavaScriptUrl()
177+
|
176178
this = attr.getValue().flow()
177179
)
178180
}

javascript/ql/src/semmle/javascript/security/dataflow/DOM.qll

Lines changed: 1 addition & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -122,17 +122,10 @@ class DomPropWriteNode extends Assignment {
122122
* Holds if the assigned value is interpreted as JavaScript via javascript: protocol.
123123
*/
124124
predicate interpretsValueAsJavaScriptUrl() {
125-
lhs.getPropertyName() = propertyNameIsInterpretedAsJavaScriptUrl()
125+
lhs.getPropertyName() = DOM::getAPropertyNameInterpretedAsJavaScriptUrl()
126126
}
127127
}
128128

129-
/**
130-
* Holds if a value assigned to property `name` of a DOM node can be interpreted as JavaScript via the `javascript:` protocol.
131-
*/
132-
string propertyNameIsInterpretedAsJavaScriptUrl() {
133-
result = ["action", "formaction", "href", "src", "data"]
134-
}
135-
136129
/**
137130
* A value written to web storage, like `localStorage` or `sessionStorage`.
138131
*/

0 commit comments

Comments
 (0)