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

中等 | 2021 年 10 月 26 日 | CVE-2021-22097

描述

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

如果调用 toString() 方法,则可能构造一个恶意的 java.util.Dictionary 对象,导致应用程序占用 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

致谢

此问题由美团公司信息安全部 r00t4dm 云穿透箭实验室识别并负责任地报告。

参考资料

历史

  • 2021-10-26: 最初的漏洞报告已发布。

领先一步

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

了解更多

获得支持

Tanzu Spring 提供 OpenJDK™、Spring 和 Apache Tomcat® 的支持和二进制文件,只需一份简单的订阅。

了解更多

即将举行的活动

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

查看所有