Skip to content

Commit 0fb6924

Browse files
committed
fix failing test
1 parent 41d034d commit 0fb6924

File tree

1 file changed

+10
-7
lines changed

1 file changed

+10
-7
lines changed

java/ql/src/Security/CWE/CWE-209/StackTraceExposure.ql

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -109,7 +109,7 @@ predicate printsStackExternally(MethodAccess call, Expr stackTrace) {
109109
/**
110110
* A stringified stack trace flows to an external sink.
111111
*/
112-
predicate stringifiedStackFlowsExternally(XssSink externalExpr, Expr stackTrace) {
112+
predicate stringifiedStackFlowsExternally(DataFlow::Node externalExpr, Expr stackTrace) {
113113
exists(MethodAccess stackTraceString, StackTraceStringToHTTPResponseSinkFlowConfig conf |
114114
stackTraceExpr(stackTrace, stackTraceString) and
115115
conf.hasFlow(DataFlow::exprNode(stackTraceString), externalExpr)
@@ -127,21 +127,24 @@ class GetMessageFlowSource extends MethodAccess {
127127
}
128128
}
129129

130-
class GetMessageFlowSourceToXssSinkFlowConfig extends TaintTracking::Configuration {
131-
GetMessageFlowSourceToXssSinkFlowConfig() {
132-
this = "StackTraceExposure::GetMessageFlowSourceToXssSinkFlowConfig"
130+
class GetMessageFlowSourceToHTTPResponseSinkFlowConfig extends TaintTracking::Configuration {
131+
GetMessageFlowSourceToHTTPResponseSinkFlowConfig() {
132+
this = "StackTraceExposure::GetMessageFlowSourceToHTTPResponseSinkFlowConfig"
133133
}
134134

135135
override predicate isSource(DataFlow::Node src) { src.asExpr() instanceof GetMessageFlowSource }
136136

137-
override predicate isSink(DataFlow::Node sink) { sink instanceof XssSink }
137+
override predicate isSink(DataFlow::Node sink) {
138+
sink instanceof XssSink or
139+
sink instanceof InformationLeakSink
140+
}
138141
}
139142

140143
/**
141144
* A call to `getMessage()` that then flows to a servlet response.
142145
*/
143-
predicate getMessageFlowsExternally(XssSink externalExpr, GetMessageFlowSource getMessage) {
144-
any(GetMessageFlowSourceToXssSinkFlowConfig conf)
146+
predicate getMessageFlowsExternally(DataFlow::Node externalExpr, GetMessageFlowSource getMessage) {
147+
any(GetMessageFlowSourceToHTTPResponseSinkFlowConfig conf)
145148
.hasFlow(DataFlow::exprNode(getMessage), externalExpr)
146149
}
147150

0 commit comments

Comments
 (0)