fastjson 爆 bug 啦,码农们,老板叫你改 bug 了! - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
log4geek
V2EX    Java

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

  •  2
     
  •   log4geek 2017-03-17 15:27:02 +08:00 11645 次点击
    这是一个创建于 3191 天前的主题,其中的信息可能已经有所发展或是发生改变。
    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/
    20 条回复    2017-05-24 23:24:16 +08:00
    onetrlee
        1
    onetrlee  
       2017-03-17 15:52:19 +08:00
    用的 Simple JSON 和 Gson
    躲过一劫.<侥幸脸>
    Troevil
        2
    Troevil  
       2017-03-17 16:19:22 +08:00
    自己写的 json 序列化和反序列化,有 bug 了也不知道
    ic3z
        4
    ic3z  
       2017-03-17 20:31:11 +08:00 via Android
    我就想看看有没有人放出 PoC 来。
    sxul07
        5
    sxul07  
       2017-03-17 23:58:19 +08:00
    C#版本的也有吗
    log4geek
        6
    log4geek  
    OP
       2017-03-18 09:25:32 +08:00
    @ic3z Poc 是什么鬼

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

    fastjson 这么快老外为啥还是热衷 jackson?
    msg7086
        16
    msg7086  
       2017-03-19 05:53:13 +08:00
    @log4geek Proof of Concept
    Miy4mori
        17
    Miy4mori  
       2017-03-19 19:47:34 +08:00 via iPhone
    @Troevil 只能说你的测试有问题
    Troevil
        18
    Troevil  
       2017-03-19 20:08:41 +08:00
    @Miy4mori 嗯 有问题 jackson 最快
    log4geek
        19
    log4geek  
    OP
       2017-03-20 11:24:46 +08:00
    @msg7086 又涨见识了
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     1905 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 33ms UTC 16:13 PVG 00:13 LAX 08:13 JFK 11:13
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86