File tree Expand file tree Collapse file tree 2 files changed +17
-0
lines changed
java/ql/src/semmle/code/java Expand file tree Collapse file tree 2 files changed +17
-0
lines changed Original file line number Diff line number Diff line change @@ -387,6 +387,19 @@ private predicate taintPreservingQualifierToMethod(Method m) {
387
387
exists ( SpringUntrustedDataType dt |
388
388
m .( GetterMethod ) = dt .getAMethod ( )
389
389
)
390
+ or
391
+ exists ( SpringHttpEntity sre |
392
+ m = sre .getAMethod ( ) and
393
+ m .getName ( ) .regexpMatch ( "getBody|getHeaders" )
394
+ )
395
+ or
396
+ exists ( SpringHttpHeaders headers |
397
+ m = headers .getAMethod ( ) |
398
+ m .getReturnType ( ) instanceof TypeString
399
+ or
400
+ m .getReturnType ( ) .( RefType ) .getSourceDeclaration ( ) .getASourceSupertype * ( ) .hasQualifiedName ( "java.util" , "List" ) and
401
+ m .getReturnType ( ) .( ParameterizedType ) .getTypeArgument ( 0 ) instanceof TypeString
402
+ )
390
403
}
391
404
392
405
private class StringReplaceMethod extends Method {
Original file line number Diff line number Diff line change @@ -32,4 +32,8 @@ class SpringResponseEntityBodyBuilder extends Interface {
32
32
getSourceDeclaration ( ) .getEnclosingType ( ) = any ( SpringResponseEntity sre ) and
33
33
hasName ( "BodyBuilder" )
34
34
}
35
+ }
36
+
37
+ class SpringHttpHeaders extends Class {
38
+ SpringHttpHeaders ( ) { hasQualifiedName ( "org.springframework.http" , "HttpHeaders" ) }
35
39
}
You can’t perform that action at this time.
0 commit comments