CVE Vulnerabilities

CVE-2021-22095

Deserialization of Untrusted Data

Published: Nov 30, 2021 | Modified: Nov 21, 2024
CVSS 3.x
6.5
MEDIUM
Source:
NVD
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
CVSS 2.x
4 MEDIUM
AV:N/AC:L/Au:S/C:N/I:N/A:P
RedHat/V2
RedHat/V3
Ubuntu
MEDIUM
root.io logo minimus.io logo echo.ai logo

In Spring AMQP versions 2.2.0 - 2.2.19 and 2.3.0 - 2.3.11, the Spring AMQP Message object, in its toString() method, will create a new String object from the message body, regardless of its size. This can cause an OOM Error with a large message

Weakness

The product deserializes untrusted data without sufficiently ensuring that the resulting data will be valid.

Affected Software

NameVendorStart VersionEnd Version
Spring_advanced_message_queuing_protocolVmware2.2.0 (including)2.2.19 (excluding)
Spring_advanced_message_queuing_protocolVmware2.3.0 (including)2.3.11 (excluding)
SpringUbuntubionic*
SpringUbuntufocal*
SpringUbuntuhirsute*
SpringUbuntuimpish*
SpringUbuntukinetic*
SpringUbuntulunar*
SpringUbuntumantic*
SpringUbuntuoracular*
SpringUbuntuplucky*
SpringUbuntutrusty*
SpringUbuntuxenial*

Potential Mitigations

  • Make fields transient to protect them from deserialization.
  • An attempt to serialize and then deserialize a class containing transient fields will result in NULLs where the transient data should be. This is an excellent way to prevent time, environment-based, or sensitive variables from being carried over and used improperly.

References