查看原文
其他

我想问问:你昨晚吃到 Spring 的惊天大瓜了吗?

歪歪 why技术 2022-09-23

你好呀,我是歪歪。

昨晚你吃到 Spring 的瓜了吗?

事情是这样的,我昨天晚上刷朋友圈的时候发现有人发了这样的一个朋友圈:

当时我就支棱起来了。

好家伙,这是云舒大佬啊!值得让云舒大佬发一个微博的漏洞那还了得?

好吧,如果你不知道云舒是谁,我也上个截图:

他是默安科技的 CTO,说是中国安全届的领军人物之一,不过分。

评论区下面有两个吸引我的评论。

第一个是这个:

当时我就愣住了,这不是坑爹吗?

log4j 这事刚刚过去没多久,这帮程序员们还没缓过气来,立马又来一个“更大”的?

不是说好的 log4j 就是见证历史了吗?历史这么快就要翻页了吗?干啥啊?搁着叠 buff 呢?

第二个评论是一个图片:

看到这个,已经提到嗓子眼的心就放下来了,原来是 jdk9 及以上的版本才有影响啊。

那我这个还在用 jdk8 的,今晚就可以安心睡觉了。

脸上漏出了开心的笑容,捧着手机,大概是这样的:

但是,我还是很想知道这个漏洞到底是怎么样的。

于是我里面奔赴了 Spring 的 issues,我猜测这里应该是吃瓜一线。

刚好,我去看的时候,相关话题,只有一个几秒之前提出的 issues,就叫做“RCE 0 Day”。

我里面冲进去准备吃瓜,但是发现这玩意也太简陋了,基本上属于啥都没有:

于是我按捺不住我吃瓜的心情,悄悄的问了一句:More details please.

还被一起吃瓜的读者当场抓包:

然后,就没有然后了。

这个问题被官方给关闭了。

他说:老哥,如果你想报告一个安全问题,那么请通过这个专用的页面进行报告,抱拳了。

但是我点击他提到的这个链接进去一看:

https://www.vmware.com/support/policies/security_response.html

好家伙,Spring 怎么跳到 vmware 了呢?

在好奇心的驱使下,我搜索了一下它们两个之间的关系。居然发现了一段不为人知(我不知道)的往事。

在 2009 年,VMware 以 4.2 亿美元收购 Spring Source (3.6亿现金外加5800万股份) 。

好吧,原来还有这层关系在,我是涨知识了。这属于吃瓜得到的意外收获。

但是看来在这个 issues 里面吃不到瓜了。

于是我搜索了一波,发现了第二个疑似瓜:

这个 pr 是在 2022 年 2 月 19 日提出来的,表示 SerializationUtils 这个序列化的工具类有点问题,会留下一些口子,建议要不咱就弃用这个方法吧。

在这个 pr 里面就提到了 RCE:

从 2 月 19 日到现在,官方都关注到这个 pr,但是直到几小时前,被官方给合并。

而合并 pr 的,又是 sbrannen 老哥,是我们的老熟人了:

sbrannen 老哥在合并 pr 的时候还顺带、在“不经意间”更新了一波文档:

更新的文档大概意思是说:

这个工具将在 Spring Framework 6.0 中被弃用,因为它使用了 Java 对象序列化,允许任意代码的运行,并以成为许多远程代码执行(RCE)漏洞的来源而闻名。倾向于使用外部工具(可序列化为JSON、XML或任何其他格式),该工具会定期检查和更新,不允许 RCE。

从文档上的更新来说,即使是这个东西导致 Spring 出现了 RCE  0day 漏洞,但是目前也并没有修复,只是堵住了未来版本的口子。

但是,我必须要说明的是:关于这个 pr 和 Spring RCE 0day 之间关系,都是我个人的看法。目前也没有关于漏洞的详细说明,很有可能在更详细的信息出来之后,表明这二者之间没有任何关系,会让我啪啪打脸。

但是,没关系,吃瓜嘛,开心最重要,挨几巴掌,不寒碜。

我觉得在 Spring 的 github 上吃不到什么好吃的瓜了。

接着,我去微博转了一圈。

发现大佬们也都在吃瓜呀。

比如这个大佬,陈禹,绿盟的元老级人物,安全大佬一枚:

还有这个老哥,在微博上还是比较火的,在线吃瓜第一人:

微博上没啥好吃的瓜,于是我又转战了某社交网站,还是这里的瓜吃起来舒服。

一上来就看到两个段子手:

犹记得上次 log4j 漏洞的时候,大家演示都是清一色的这个截图:

看得我是一脸懵逼啊。

咋得了,是 log4j 对计算器做了什么见不得人的事情吗?

后来才知道,原来利用漏洞调起计算器是一个常见的秀技术的手段。

另外一个段子是这样的:

还看到很多老哥在线求 POC:

我简单解释一下什么是 POC 啊。

POC,就是 Proof of Concept ,翻译过来就是“观点证明”。

这个短语并非仅仅在漏洞报告中使用,甲方在项目招标过程中也常常要求乙方提供 POC,即证明你的方案或者产品能达到声称的功能或性能。

漏洞报告中的 POC 则是一段说明或者一个攻击的样例,使得读者能够确认这个漏洞是真实存在的。

POC 都解释了,那就顺带说一下 EXP 吧。免得又得同学吃瓜吃的不得劲。

EXP,就是 Exploit,翻译过来就是“漏洞利用”。

意思是一段对漏洞如何利用的详细说明或者一个演示的漏洞攻击代码,可以使得读者完全了解漏洞的机理以及利用的方法。

还发现了一个老哥我和一样关注到了那个疑似瓜的 pr。

但是他说:官方似乎在不断测试和更新安全补丁。

这个肯定是不对的,前面说了,官方只是弃用了一个方法而已,并没有修复任何东西。

在相关话题里面,这个帖子的评论是最多的,因为他附上了截图。

截图我不说你也知道是什么,就是调起了计算器:

帖子里面的评论,绝大部分都是这样的:

POC sir, writeup sir, please sir。

三押,skr。

哎,这波呀:多少运维彻夜难眠,又有多少开发哆哆嗦嗦

最后,我昨天还看到了很多次这个图片,我真没看懂是啥意思,不知道有没有大佬给我科普一下,在象棋里面,这是个什么大场面

虽然,大多数都还停留在 JDK8 ,似乎不影响。

但是反正我感觉这瓜挺大的,有可能间接推动部分公司对 JDK 进行升级改造,一步到位直接到 JDK17。

不着急,让子弹飞一会。

·················END·················


推荐👍 :一不小心节约了 591 台机器!

推荐👍 :给Spring贡献一波源码

推荐👍 :发现Spring事务的一个bug,官方表示6.0版本修复。

推荐👍 :当Synchronized遇到这玩意儿,有个大坑,要注意!

推荐👍 :2021,我这一年。

你好呀,我是歪歪。一个主要敲代码,经常怼文章,偶尔拍视频的成都人。

我没进过一线大厂,没创过业,也没写过书,更不是技术专家,所以也没有什么亮眼的title。

当年以超过二本线 13 分的“优异”成绩顺利进入某二本院校计算机专业,误打误撞,进入了程序员的行列,开始了运气爆棚的程序员之路。

说起程序员之路还是有点意思,可以看看。点击蓝字,查看我的程序员之路

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存