mirror of
https://github.com/github/codeql.git
synced 2025-12-21 19:26:31 +01:00
@@ -16,7 +16,6 @@ import java
|
||||
import semmle.code.java.dataflow.DataFlow
|
||||
import semmle.code.java.dataflow.TaintTracking
|
||||
import semmle.code.java.security.XSS
|
||||
private import semmle.code.java.dataflow.ExternalFlow
|
||||
|
||||
/**
|
||||
* One of the `printStackTrace()` overloads on `Throwable`.
|
||||
@@ -38,12 +37,10 @@ class ServletWriterSourceToPrintStackTraceMethodFlowConfig extends TaintTracking
|
||||
|
||||
override predicate isSource(DataFlow::Node src) { src.asExpr() instanceof ServletWriterSource }
|
||||
|
||||
override predicate isSink(DataFlow::Node sink) { sinkNode(sink, "print-stack-trace") }
|
||||
}
|
||||
|
||||
private class PrintStackTraceSinkModel extends SinkModelCsv {
|
||||
override predicate row(string row) {
|
||||
row = ["java.lang;Throwable;true;printStackTrace;;;Argument;print-stack-trace"]
|
||||
override predicate isSink(DataFlow::Node sink) {
|
||||
exists(MethodAccess ma |
|
||||
sink.asExpr() = ma.getAnArgument() and ma.getMethod() instanceof PrintStackTraceMethod
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user