CVE-2020-5411:Jackson配置允许通过未知的“序列化Gadget”执行代码

| 2020年6月10日 | CVE-2020-5411

描述

当配置为启用默认类型时,Jackson存在一个反序列化漏洞,可能导致任意代码执行。Jackson通过黑名单限制已知的“反序列化Gadget”来修复此漏洞。

Spring Batch将Jackson配置为启用全局默认类型,这意味着,如果以下所有条件都成立,则可以通过上述利用方式执行任意代码:

  • Spring Batch的Jackson支持被用于序列化Job的ExecutionContext。
  • 恶意用户获得了对JobRepository使用的持久存储的写入访问权限(其中存储了需要反序列化的数据)。

为了防范此类攻击,Jackson会阻止反序列化一组不受信任的Gadget类。Spring Batch在启用默认类型时,应积极阻止未知的“反序列化Gadget”。

受影响的 Spring 产品和版本

  • Spring Batch
    • 4.0.0 到 4.0.4
    • 4.1.0 至 4.1.4
    • 4.2.0 至 4.2.2

缓解措施

受影响版本的使用者应升级到4.2.3或更高版本。已修复此问题的版本包括:

  • Spring Batch
    • 4.2.3

致谢

此问题由Srikanth Ramu发现并负责任地报告。

参考资料

历史

  • 2020-06-10:发布初始漏洞报告。

领先一步

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

了解更多

获得支持

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

了解更多

即将举行的活动

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

查看所有