Skip to content

Commit ac8d985

Browse files
Jami CogswellJami Cogswell
authored andcommitted
Java: update xss sink kind to html-injection and js-injection
1 parent 041caa7 commit ac8d985

File tree

8 files changed

+17
-16
lines changed

8 files changed

+17
-16
lines changed

java/ql/lib/ext/android.webkit.model.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,6 @@ extensions:
1010
extensible: sinkModel
1111
data:
1212
# Models representing methods susceptible to XSS attacks.
13-
- ["android.webkit", "WebView", False, "evaluateJavascript", "", "", "Argument[0]", "xss", "manual"]
14-
- ["android.webkit", "WebView", False, "loadData", "", "", "Argument[0]", "xss", "manual"]
15-
- ["android.webkit", "WebView", False, "loadDataWithBaseURL", "", "", "Argument[1]", "xss", "manual"]
13+
- ["android.webkit", "WebView", False, "evaluateJavascript", "", "", "Argument[0]", "js-injection", "manual"]
14+
- ["android.webkit", "WebView", False, "loadData", "", "", "Argument[0]", "html-injection", "manual"]
15+
- ["android.webkit", "WebView", False, "loadDataWithBaseURL", "", "", "Argument[1]", "html-injection", "manual"]

java/ql/lib/ext/jakarta.faces.context.model.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,5 +14,5 @@ extensions:
1414
pack: codeql/java-all
1515
extensible: sinkModel
1616
data:
17-
- ["jakarta.faces.context", "ResponseStream", True, "write", "", "", "Argument[0]", "xss", "manual"]
18-
- ["jakarta.faces.context", "ResponseWriter", True, "write", "", "", "Argument[0]", "xss", "manual"]
17+
- ["jakarta.faces.context", "ResponseStream", True, "write", "", "", "Argument[0]", "html-injection", "manual"]
18+
- ["jakarta.faces.context", "ResponseWriter", True, "write", "", "", "Argument[0]", "html-injection", "manual"]

java/ql/lib/ext/javax.faces.context.model.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,5 +14,5 @@ extensions:
1414
pack: codeql/java-all
1515
extensible: sinkModel
1616
data:
17-
- ["javax.faces.context", "ResponseStream", True, "write", "", "", "Argument[0]", "xss", "manual"]
18-
- ["javax.faces.context", "ResponseWriter", True, "write", "", "", "Argument[0]", "xss", "manual"]
17+
- ["javax.faces.context", "ResponseStream", True, "write", "", "", "Argument[0]", "html-injection", "manual"]
18+
- ["javax.faces.context", "ResponseWriter", True, "write", "", "", "Argument[0]", "html-injection", "manual"]

java/ql/lib/ext/org.apache.hc.core5.http.model.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ extensions:
33
pack: codeql/java-all
44
extensible: sinkModel
55
data:
6-
- ["org.apache.hc.core5.http", "HttpEntityContainer", True, "setEntity", "(HttpEntity)", "", "Argument[0]", "xss", "manual"]
6+
- ["org.apache.hc.core5.http", "HttpEntityContainer", True, "setEntity", "(HttpEntity)", "", "Argument[0]", "html-injection", "manual"]
77
- ["org.apache.hc.core5.http", "HttpRequest", True, "setUri", "(URI)", "", "Argument[0]", "open-url", "hq-manual"]
88
- ["org.apache.hc.core5.http", "HttpRequestFactory", True, "newHttpRequest", "(String,String)", "", "Argument[1]", "open-url", "hq-manual"]
99
- ["org.apache.hc.core5.http", "HttpRequestFactory", True, "newHttpRequest", "(String,URI)", "", "Argument[1]", "open-url", "hq-manual"]

java/ql/lib/ext/org.apache.http.model.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ extensions:
1010
extensible: sinkModel
1111
data:
1212
- ["org.apache.http", "HttpRequestFactory", True, "newHttpRequest", "(String,String)", "", "Argument[1]", "open-url", "hq-manual"]
13-
- ["org.apache.http", "HttpResponse", True, "setEntity", "(HttpEntity)", "", "Argument[0]", "xss", "manual"]
13+
- ["org.apache.http", "HttpResponse", True, "setEntity", "(HttpEntity)", "", "Argument[0]", "html-injection", "manual"]
1414
- addsTo:
1515
pack: codeql/java-all
1616
extensible: summaryModel

java/ql/lib/ext/org.apache.http.util.model.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ extensions:
33
pack: codeql/java-all
44
extensible: sinkModel
55
data:
6-
- ["org.apache.http.util", "EntityUtils", True, "updateEntity", "(HttpResponse,HttpEntity)", "", "Argument[1]", "xss", "manual"]
6+
- ["org.apache.http.util", "EntityUtils", True, "updateEntity", "(HttpResponse,HttpEntity)", "", "Argument[1]", "html-injection", "manual"]
77
- addsTo:
88
pack: codeql/java-all
99
extensible: summaryModel

java/ql/lib/semmle/code/java/dataflow/ExternalFlow.qll

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -275,11 +275,12 @@ module ModelValidation {
275275
not kind =
276276
[
277277
"open-url", "jndi-injection", "ldap-injection", "sql-injection", "jdbc-url",
278-
"log-injection", "mvel-injection", "xpath-injection", "groovy-injection", "xss",
279-
"ognl-injection", "intent-redirection", "pending-intents", "url-redirection",
280-
"create-file", "read-file", "write-file", "hostname-verification", "response-splitting",
281-
"information-leak", "xslt-injection", "jexl-injection", "bean-validation",
282-
"template-injection", "fragment-injection", "command-injection"
278+
"log-injection", "mvel-injection", "xpath-injection", "groovy-injection",
279+
"html-injection", "js-injection", "ognl-injection", "intent-redirection",
280+
"pending-intents", "url-redirection", "create-file", "read-file", "write-file",
281+
"hostname-verification", "response-splitting", "information-leak", "xslt-injection",
282+
"jexl-injection", "bean-validation", "template-injection", "fragment-injection",
283+
"command-injection"
283284
] and
284285
not kind.matches("regex-use%") and
285286
not kind.matches("qltest%") and

java/ql/lib/semmle/code/java/security/XSS.qll

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ class XssAdditionalTaintStep extends Unit {
3939
/** A default sink representing methods susceptible to XSS attacks. */
4040
private class DefaultXssSink extends XssSink {
4141
DefaultXssSink() {
42-
sinkNode(this, "xss")
42+
sinkNode(this, ["html-injection", "js-injection"])
4343
or
4444
exists(MethodAccess ma |
4545
ma.getMethod() instanceof WritingMethod and

0 commit comments

Comments
 (0)