SerializingHttpMessageConverter десериализует тело входящих HTTP-запросов с помощью необработанного потока java.io.ObjectInputStream без фильтрации классов. Любой запрос с Content-Type application/x-java-serialized-object, тело которого преобразуется в сериализуемый тип, считывается напрямую через readObject(). Если приложение, использующее этот преобразователь на входящей конечной точке HTTP, имеет какой-либо известный «гаджет» десериализации Java в своем пути к классам, удаленный злоумышленник, не прошедший проверку подлинности, может добиться выполнения произвольного кода.
Весенняя интеграция 7.1.0
Весенняя интеграция 7.0.0–7.0.5
Весенняя интеграция 6.5.0 - 6.5.10
Spring Интеграция 6.4.0 - 6.4.12
Spring Интеграция 5.5.21 и более ранних версий
Показать оригинальное описание (EN)
SerializingHttpMessageConverter deserializes the body of incoming HTTP requests with a raw java.io.ObjectInputStream and no class filtering. Any request with Content-Type application/x-java-serialized-object whose body resolves to a Serializable type is read directly via readObject(). If an application using this converter on an inbound HTTP endpoint has any known Java deserialization "gadget" on its classpath, a remote, unauthenticated attacker can achieve arbitrary code execution. Spring Integration 7.1.0 Spring Integration 7.0.0 - 7.0.5 Spring Integration 6.5.0 - 6.5.10 Spring Integration 6.4.0 - 6.4.12 Spring Integration 5.5.21 and earlier
Характеристики атаки
Последствия
Строка CVSS v3.1