Spring爆出安全漏洞?

 2022-09-09
原文地址:https://cloud.tencent.com/developer/article/1967973

昨天我还在沉醉在写《如何把austin写在简历》的时候,在群里看到不少的的消息都在传闻 Spring有大瓜 ,问我怎么看,是不是真的。

202209092245070031.png

202209092245085432.png

我是一个markdown八股文职业选手,自然不懂这些 。不过,很快啊,就过了一会,有的小伙伴已经在群里发相关的 补救措施

具体漏洞及修复信息如下:

一·漏洞影响排查方法

(一).JDK版本号排查 在业务系统的运行服务器上,执行“java -version”命令查看运行的JDK版本,如果版本号小于等于8,则不受漏洞影响

(二).Spring框架使用情况排查

  • 1.如果业务系统项目以war包形式部署,按照如下步骤进行判断。
    • ⑴解压war包:将war文件的后缀修改成.zip ,解压zip文件
    • ⑵在解压缩目录下搜索是否存在 spring-beans-*.jar 格式的jar文件(例如spring-beans-5.3.16.jar),如存在则说明业务系统使用了spring框架进行开发。
    • ⑶如果spring-beans-*.jar 文件不存在,则在解压缩目录下搜索CachedIntrospectionResuLts.class 文件是否存在,如存在则说明业务系统使用了Spring框架开发。
  • 2.如果业务系统项目以jar包形式直接独立运行,按照如下步骤进行判断。
    • ⑴解压jar包:将jar文件的后缀修改成.zip,解压zip文件。
    • ⑵在解压缩目录下搜索是否存在spring-beans-*.jar 格式的jar文件(例如spring-beans-5.3.16.jar),如存在则说明业务系统使用了spring框架进行开发。
    • ⑶如果spring-beans-*.jar 文件不存在,则在解压缩目录下搜索CachedIntrospectionResuLts.class 文件是否存在,如存在则说明业务系统使用了spring框架进行开发。

(三).综合判断 在完成以上两个步骤排查后,同时满足以下两个条件可确定受此漏洞影响:

  • ⑴JDK版本号在9及以上的;⑵使用了spring框架或衍生框架。

二·漏洞修复建议

目前,spring官方无官方补丁,建议采用以下二个临时方案进行防护,并及时关注官方补丁发布情况,按官方补丁修复漏洞。

  • (一)WAF防护 在WAF等网络防护设备上,根据实际部署业务的流量情况,实现对“class.*”“Class.”“.class.”“.Class.*”等字符串的规则过滤,并在部暑过滤规则后,对业务运行情况进行测试,避免产生额外影响。
  • (二)临时修复措施 需同时按以下两个步骤进行漏涧的临时修复: 1.在应用中全局搜索@InitBinder注解,看看方法体内是否调用dataBinder.se

有小伙伴在群里转发 复现 BUG的文章,但很快啊,也被删除了。

今天早上起来,我去翻了下Spring的官网,没查到有什么确切的消息,在Google用关键词搜索也没找到相关的资料

妈蛋,倒是在论坛上发现不少的段子:

202209092245102693.png

202209092245120304.png

202209092245138275.png

如果真的出了问题,我们可以这样做:

202209092245154536.png

也有看到利用这则消息在GitHub发布exe文件钓鱼的, 在这里提醒下各位看官在吃瓜的时候也小心被钓鱼 (:

我确实没搜到确切的东西,只能 先占个坑位等安全大佬们确认瓜是不是真的