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 @@ -393,6 +393,19 @@ private predicate taintPreservingQualifierToMethod(Method m) {
393393 exists ( SpringUntrustedDataType dt |
394394 m .( GetterMethod ) = dt .getAMethod ( )
395395 )
396+ or
397+ exists ( SpringHttpEntity sre |
398+ m = sre .getAMethod ( ) and
399+ m .getName ( ) .regexpMatch ( "getBody|getHeaders" )
400+ )
401+ or
402+ exists ( SpringHttpHeaders headers |
403+ m = headers .getAMethod ( ) |
404+ m .getReturnType ( ) instanceof TypeString
405+ or
406+ m .getReturnType ( ) .( RefType ) .getSourceDeclaration ( ) .getASourceSupertype * ( ) .hasQualifiedName ( "java.util" , "List" ) and
407+ m .getReturnType ( ) .( ParameterizedType ) .getTypeArgument ( 0 ) instanceof TypeString
408+ )
396409}
397410
398411private class StringReplaceMethod extends Method {
Original file line number Diff line number Diff line change @@ -32,4 +32,8 @@ class SpringResponseEntityBodyBuilder extends Interface {
3232 getSourceDeclaration ( ) .getEnclosingType ( ) = any ( SpringResponseEntity sre ) and
3333 hasName ( "BodyBuilder" )
3434 }
35+ }
36+
37+ class SpringHttpHeaders extends Class {
38+ SpringHttpHeaders ( ) { hasQualifiedName ( "org.springframework.http" , "HttpHeaders" ) }
3539}
You can’t perform that action at this time.
0 commit comments