Spring-Kafka has Java Deserialization vulnerability When Improperly Configured
High severity
GitHub Reviewed
Published
Aug 24, 2023
to the GitHub Advisory Database
•
Updated Nov 5, 2024
Package
Affected versions
>= 3.0.0, < 3.0.10
>= 2.8.1, < 2.9.11
Patched versions
3.0.10
2.9.11
Description
Published by the National Vulnerability Database
Aug 24, 2023
Published to the GitHub Advisory Database
Aug 24, 2023
Reviewed
Aug 24, 2023
Last updated
Nov 5, 2024
In Spring for Apache Kafka 3.0.9 and earlier and versions 2.9.10 and earlier, a possible deserialization attack vector existed, but only if unusual configuration was applied. An attacker would have to construct a malicious serialized object in one of the deserialization exception record headers.
Specifically, an application is vulnerable when all of the following are true:
By default, these properties are false, and the container only attempts to deserialize the headers if an ErrorHandlingDeserializer is configured. The ErrorHandlingDeserializer prevents the vulnerability by removing any such malicious headers before processing the record.
References