@@ -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