Во время тестирования я столкнулся с проблемой. Я опубликовал API отдыха с классом контроллера с входом модели.При вызове API вместо одной строки использовался массив [{"a": 1, "b": 2}].Это вызвало следующую ошибку:
{
"timestamp": "2018-12-19T12:33:36.729+0000",
"status": 400,
"error": "Bad Request",
"message": "JSON parse error: Cannot deserialize instance of `java.lang.String` out of START_ARRAY token; nested exception is com.fasterxml.jackson.databind.exc.MismatchedInputException: Cannot deserialize instance of `java.lang.String` out of START_ARRAY token\n at [Source: (PushbackInputStream); line: 3, column: 14] (through reference chain: com.xy.df.model.inputReq[\"req\"])",
"path": "x/y/z"
}
Мы не импортировали зависимость JACKSON в приложение, явно в POM.Я заметил, что в родительской версии pom jackson используется следующая версия: 2.9.5
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.9.5</version>
</dependency>
1.Уязвима ли она для RCE?Как решить эту проблему в Spring-boot?2. Как я могу подавить / переопределить сообщение об исключении, чтобы клиент никогда не узнал, какие библиотеки используются под ним?