Merge pull request #5590 from github/sauyon/java-spring-errors

Add models for Spring validation.Errors
This commit is contained in:
Anders Schack-Mulligen
2021-07-01 14:29:49 +02:00
committed by GitHub
14 changed files with 654 additions and 45 deletions

View File

@@ -86,6 +86,7 @@ private module Frameworks {
private import semmle.code.java.frameworks.Optional
private import semmle.code.java.frameworks.spring.SpringHttp
private import semmle.code.java.frameworks.spring.SpringUtil
private import semmle.code.java.frameworks.spring.SpringValidation
private import semmle.code.java.frameworks.spring.SpringWebClient
private import semmle.code.java.frameworks.spring.SpringBeans
private import semmle.code.java.security.ResponseSplitting

View File

@@ -34,6 +34,7 @@ import semmle.code.java.frameworks.spring.SpringRef
import semmle.code.java.frameworks.spring.SpringReplacedMethod
import semmle.code.java.frameworks.spring.SpringSet
import semmle.code.java.frameworks.spring.SpringUtil
import semmle.code.java.frameworks.spring.SpringValidation
import semmle.code.java.frameworks.spring.SpringValue
import semmle.code.java.frameworks.spring.SpringXMLElement
import semmle.code.java.frameworks.spring.metrics.MetricSpringBean

View File

@@ -0,0 +1,25 @@
/** Definitions of flow steps through utility methods of `org.springframework.validation.Errors`. */
import java
private import semmle.code.java.dataflow.ExternalFlow
private class SpringValidationErrorModel extends SummaryModelCsv {
override predicate row(string row) {
row =
[
"org.springframework.validation;Errors;true;addAllErrors;;;Argument[0];Argument[-1];taint",
"org.springframework.validation;Errors;true;getAllErrors;;;Argument[-1];ReturnValue;taint",
"org.springframework.validation;Errors;true;getFieldError;;;Argument[-1];ReturnValue;taint",
"org.springframework.validation;Errors;true;getFieldErrors;;;Argument[-1];ReturnValue;taint",
"org.springframework.validation;Errors;true;getGlobalError;;;Argument[-1];ReturnValue;taint",
"org.springframework.validation;Errors;true;getGlobalErrors;;;Argument[-1];ReturnValue;taint",
"org.springframework.validation;Errors;true;reject;;;Argument[0];Argument[-1];taint",
"org.springframework.validation;Errors;true;reject;;;ArrayElement of Argument[1];Argument[-1];taint",
"org.springframework.validation;Errors;true;reject;;;Argument[2];Argument[-1];taint",
"org.springframework.validation;Errors;true;rejectValue;;;Argument[1];Argument[-1];taint",
"org.springframework.validation;Errors;true;rejectValue;;;Argument[3];Argument[-1];taint",
"org.springframework.validation;Errors;true;rejectValue;(java.lang.String,java.lang.String,java.lang.Object[],java.lang.String);;ArrayElement of Argument[2];Argument[-1];taint",
"org.springframework.validation;Errors;true;rejectValue;(java.lang.String,java.lang.String,java.lang.String);;Argument[2];Argument[-1];taint"
]
}
}