CVE-2021-22097: Spring-AMQP 远程拒绝服务 - 恶意构造的 java.util.Dictionary 对象反序列化

MEDIUM | 2021 年 10 月 26 日 | CVE-2021-22097

描述

Spring AMQP Message 对象在其 toString() 方法中,将会反序列化 content type 为 application/x-java-serialized-object 的消息体。java.lang 和 java.util 包中的类被认为是可信的。

可以构造一个恶意的 java.util.Dictionary 对象,如果在调用 toString() 方法时,会导致应用程序 100% 的 CPU 使用率。

这要求攻击者有权限直接向 RabbitMQ 服务器发布具有此类消息体的消息。

受影响的 Spring 产品和版本

  • Spring AMQP
    • 2.2.0 - 2.2.18
    • 2.3.0 - 2.3.10

缓解措施

不要允许不可信的参与者向 RabbitMQ 发布任意数据。受影响版本的用户应应用以下缓解措施。2.3.x 用户应升级到 2.3.11。2.2.x 用户应升级到 2.2.19。不需要其他步骤。已修复此问题的版本包括

  • Spring AMQP
    • 2.3.11
    • 2.2.19

致谢

此问题由美团公司信息安全部 Cloud-Penetrating Arrow Lab 的 r00t4dm 发现并负责任地报告。

参考

历史记录

  • 2021-10-26:发布初始漏洞报告。

领先一步

VMware 提供培训和认证,以加速您的进步。

了解更多

获得支持

Tanzu Spring 在一个简单的订阅中提供对 OpenJDK™、Spring 和 Apache Tomcat® 的支持和二进制文件。

了解更多

即将举行的活动

查看 Spring 社区中所有即将举行的活动。

查看全部