Skip to content

Commit 6937aaa

Browse files
Jami CogswellJami Cogswell
authored andcommitted
Java: update xss sink kind to html-injection and js-injection
1 parent eb0341f commit 6937aaa

8 files changed

Lines changed: 17 additions & 16 deletions

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
@@ -273,11 +273,12 @@ module ModelValidation {
273273
not kind =
274274
[
275275
"open-url", "jndi-injection", "ldap-injection", "sql-injection", "jdbc-url",
276-
"log-injection", "mvel-injection", "xpath-injection", "groovy-injection", "xss",
277-
"ognl-injection", "intent-redirection", "pending-intents", "url-open-stream",
278-
"url-redirection", "create-file", "read-file", "write-file", "hostname-verification",
279-
"response-splitting", "information-leak", "xslt-injection", "jexl-injection",
280-
"bean-validation", "template-injection", "fragment-injection", "command-injection"
276+
"log-injection", "mvel-injection", "xpath-injection", "groovy-injection",
277+
"html-injection", "js-injection", "ognl-injection", "intent-redirection",
278+
"pending-intents", "url-open-stream", "url-redirection", "create-file", "read-file",
279+
"write-file", "hostname-verification", "response-splitting", "information-leak",
280+
"xslt-injection", "jexl-injection", "bean-validation", "template-injection",
281+
"fragment-injection", "command-injection"
281282
] and
282283
not kind.matches("regex-use%") and
283284
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)