Описание
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
A flaw was found in Spring Integration. The SerializingHttpMessageConverter component deserializes incoming HTTP request bodies without proper class filtering. A remote, unauthenticated attacker can exploit this by sending a specially crafted HTTP request. If a known Java deserialization 'gadget' is present on the application's classpath, this can lead to arbitrary code execution.
Отчет
An unsafe Java deserialization vulnerability exists in Spring Integration's SerializingHttpMessageConverter. When processing HTTP requests with Content-Type application/x-java-serialized-object, the converter invokes ObjectInputStream.readObject() on the request body without class filtering or type validation. A remote, unauthenticated attacker can supply a malicious serialized payload. If a suitable Java deserialization gadget exists on the application's classpath, this leads to arbitrary code execution within the context of the underlying Java process.
Меры по смягчению последствий
Do not accept application/x-java-serialized-object content types on HTTP inbound endpoints, or configure custom HttpMessageConverter instances that enforce explicit ObjectInputFilter allowlists before deserialization occurs.
Затронутые пакеты
| Платформа | Пакет | Состояние | Рекомендация | Релиз |
|---|---|---|---|---|
| Red Hat Fuse 7 | spring-integration-http | Affected |
Показывать по
Дополнительная информация
Статус:
8.1 High
CVSS3
Связанные уязвимости
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
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
8.1 High
CVSS3