fastjson 1.2.60 发布了,这是一个 bug 修复安全加固版本,增加了 AutoType 黑名单,修复了一个导致拒绝服务的问题。
具体更新内容:
- 安全增强,增加 AutoType 黑名单,修复特定场景导致拒绝服务的问题
- 序列化支持 org.json.JSONObject 类型
- 修复某些场景 Enum 定制反序列化不生效的问题
- 修复某些场景解析非法字符串不抛异常的问题
- 修复 JSONField 配置 WriteBigDecimalAsPlain 不生效的问题
- 增强 Builder 模式支持,JSONPOJOBuilder 支持 withPrefix 为空字符串等
- 修复全接口对象 @transient 不起作用的问题
- 修复解析 base64 字符串带'/'解析错误的问题
- 修复使用 JSONField 指定序列化使用单引号不生效的问题
- 修复使用 JSONField 指定 WriteMapNullValue 特性不生效的问题
- 反序列化自动识别日期格式支持'yyyy-MM-dd HH:mm:ss,SSS'
- 反序列化日期格式支持 unixtime
- 修复序列化 byte[] 在某些场景报错的问题
- 新增加高性能 JSONValidator API
- 新增 Mixed 功能,解决第三方无法修改源码的类定制序列化问题
此版本拒绝服务安全漏洞涉及之前所有 fastjson 版本,官方建议升级到最新版本 1.2.60。如果遇到不兼容问题,可以使用如下兼容版本:
1.1.15~1.1.31 -> 1.1.31.sec07 这版本不一样是因为1.1.31.sec06发布后,发现1.1.31版本特有一个的问题,又发布了1.1.31.sec07
1.1.32~1.1.33 -> 1.1.33.sec06
1.1.34 -> 1.1.34.sec06
1.1.35~1.1.46 -> 1.1.46.sec06
1.2.3~1.2.7 -> 1.2.7.sec06 因为1.2.7使用最多特别提供,也可以直接使用1.2.8.sec06
1.2.8 -> 1.2.8.sec06
1.2.9~1.2.29 -> 1.2.29.sec06
另外,安卓版本 1.1.71.android 不受此漏洞影响。
详情查看更新说明:
https://github.com/alibaba/fastjson/releases/tag/1.2.6
原文
https://www.oschina.net/news/109698/fastjson-1-2-60-released