fastjson 1.2.60 发布了,这是一个 bug 修复安全加固版本,增加了 AutoType 黑名单,修复了一个导致拒绝服务的问题。
具体更新内容:
安全增强,增加 AutoType 黑名单,修复特定场景导致拒绝服务的问题
序列化支持 org.json.JSONObject 类型
修复某些场景 Enum 定制反序列化不生效的问题
修复某些场景解析非法字符串不抛异常的问题
修复 JSONField 配置 WriteBigDecimalAsPlain 不生效的问题
增强 Builder 模式支持,JSONPOJOBuilder 支持 withPrefix 为空字符串等
修复全接口对象 @transient 不起作用的问题
修复解析 base64 字符串带'/'解析错误的问题
修复使用 JSONField 指定序列化使用单引号不生效的问题
修复使用 JSONField 指定 WriteMapNullValue 特性不生效的问题
反序列化自动识别日期格式支持'yyyy-MM-dd HHss,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.sec071.1.32~1.1.33 -> 1.1.33.sec06 1.1.34 -> 1.1.34.sec061.1.35~1.1.46 -> 1.1.46.sec061.2.3~1.2.7 -> 1.2.7.sec06 因为1.2.7使用最多特别提供,也可以直接使用1.2.8.sec061.2.8 -> 1.2.8.sec061.2.9~1.2.29 -> 1.2.29.sec06
另外,安卓版本 1.1.71.android 不受此漏洞影响。
文章来源:开源社区OSC