fastjson 爆 bug 啦,码农们,老板叫你改 bug 了!

2017-03-17 15:27:02 +08:00
 log4geek
2017 年 3 月 15 日, Fastjson 官方发布安全公告,该公告介绍 fastjson 在 1.2.24 以及之前版本存在代码执行漏洞代码执行漏洞,恶意攻击者可利用此漏洞进行远程代码执行,从而进一步入侵服务器,目前官方已经发布了最新版本,最新版本已经成功修复该漏洞。
具体漏洞详情如下:


漏洞编号:
暂无
漏洞名称:
Fastjson 远程代码执行漏洞
官方评级:
高危
漏洞描述:
fastjson 在 1.2.24 以及之前版本存在代码执行漏洞,当用户提交一个精心构造的恶意的序列化数据到服务器端时, fastjson 在反序列化时存在漏洞,可导致远程任意代码执行漏洞。
漏洞利用条件和方式:
黑客可以远程代码执行成功利用该漏洞。
漏洞影响范围:
1.2.24 及之前版本
漏洞检测:
检查 fastjson 版本是否在 1.2.24 版本内
复制代码
lsof | grep fastjson

漏洞修复建议(或缓解措施):
目前官方已经发布了最新版本,该版本已经成功修复该漏洞。
阿里云上用户建议采用以下两种方式将 fastjson 升级到 1.2.28 或者更新版本:
更新方法如下:
1.Maven 依赖配置更新

通过 maven 配置更新,使用最新版本,如下:
复制代码
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.28</version>
</dependency>

2.最新版本下载

下载地址: http://repo1.maven.org/maven2/com/alibaba/fastjson/1.2.28/

****
我们项目里好多地方用了 fastjson ,老板一看到就很紧张,叫我们马上全升级成最新版 1.2.28 。。。。然后系统挂了!!
后来查了资料才发现原来用了 autotype 的不能直接升级。。。需要处理下。还有其他一些用了更老版本的特性的也不能直接升 1.2.28 。。反正比较混乱就是了,各种全盘搜索代码,折腾了一天把旧的成功转换过来。做了些笔记,欢迎围观

http://log4geek.cc/2017/03/fastjson%e8%bf%9c%e7%a8%8b%e4%bb%a3%e7%a0%81%e6%89%a7%e8%a1%8c%e6%bc%8f%e6%b4%9e%e8%a7%a3%e5%86%b3%e6%96%b9%e6%a1%88/
11065 次点击
所在节点    Java
20 条回复
onetrlee
2017-03-17 15:52:19 +08:00
用的 Simple JSON 和 Gson
躲过一劫.<侥幸脸>
Troevil
2017-03-17 16:19:22 +08:00
自己写的 json 序列化和反序列化,有 bug 了也不知道 😆
Antidictator
2017-03-17 16:28:48 +08:00
ic3z
2017-03-17 20:31:11 +08:00
我就想看看有没有人放出 PoC 来。
sxul07
2017-03-17 23:58:19 +08:00
C#版本的也有吗
log4geek
2017-03-18 09:25:32 +08:00
@ic3z Poc 是什么鬼

@sxul07 这个我就不知道拉,好多年没搞过 C#了
Miy4mori
2017-03-18 12:28:57 +08:00
只用 Jackson 和 Gson ,阿里系的产品不敢用。
Troevil
2017-03-18 14:58:33 +08:00
@Miy4mori 然而数据量大的时候 jackson 效率不高,gson 正比增长, fastjson 比较稳定,所以才会用, 不要看到阿里系的就否定啊
taowen
2017-03-18 19:37:17 +08:00
@Troevil jackson 效率不高,给出证据来。
Troevil
2017-03-18 19:47:02 +08:00
@taowen 之前简单测试的 同一个机器同一个对象, 重复解析反解析 10W 次 jackson gson fastjson , fastjson 最快 然后 gson jackson 最慢,
解析一次 gson 最快 然后 jackson , fastjson 最慢
这是我之前测试的结果,现在没环境没法上截图了
Troevil
2017-03-18 19:47:32 +08:00
@taowen 另外效率不高是针对这三者来说的
taowen
2017-03-18 21:26:58 +08:00
@Troevil 请给出你的测试代码。我不相信 jackson 比 fastjson 慢。
Troevil
2017-03-18 21:33:00 +08:00
@taowen 你自测一下不就行了,没什么好争论的,如果你觉得 jackson 比 fastjson 快那就用 jackson 好了,反正通常效率的瓶颈肯定不在这点解析时间上
taowen
2017-03-18 23:55:24 +08:00
@Troevil https://github.com/json-iterator/java-benchmark 我测过。 jackson 确实比 fastjson 快。
sagaxu
2017-03-19 01:38:41 +08:00
https://www.zhihu.com/question/44199956

fastjson 这么快老外为啥还是热衷 jackson?
msg7086
2017-03-19 05:53:13 +08:00
@log4geek Proof of Concept
Miy4mori
2017-03-19 19:47:34 +08:00
@Troevil 只能说你的测试有问题
Troevil
2017-03-19 20:08:41 +08:00
@Miy4mori 嗯 有问题 jackson 最快
log4geek
2017-03-20 11:24:46 +08:00
@msg7086 又涨见识了
shengqi158
2017-05-24 23:24:16 +08:00

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/348227

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX