Fastjson Versions Save

FASTJSON 2.0.x has been released, faster and more secure, recommend you upgrade.

1.2.68

4 years ago

fastjson 1.2.68版本发布,Bug修复功能增强安全加固

这又是一个Bug修复功能安全加固版本,补充了autoType黑名单。如果已经升级到1.2.67版本或者所有sec09版本,没有显式打开autoType,不需要因为安全原因升级到1.2.68。

在1.2.68中引入一个safeMode的配置,配置safeMode后,无论白名单和黑名单,都不支持autoType。

在1.2.68版本中,引入了GeoJSON的支持。https://github.com/alibaba/fastjson/wiki/geojson_cn

Issues

  1. 内置支持geojson https://github.com/alibaba/fastjson/wiki/geojson_cn
  2. 修复1.2.67版本引入JSONObject.toJavaObject某些场景结果不对的问题。
  3. ParserConfig加入AutTypeCheckHandler支持,允许自定义安全检查
  4. jsonpath修复对.max和.min支持的bug #3066
  5. 修复JSONObject containsKey对Number值类型参数行为和getObject不一致的问题 #3093
  6. 增强对Map.Entry泛型的支持
  7. 增加autoType黑名单。
  8. 支持配置safeMode https://github.com/alibaba/fastjson/wiki/fastjson_safemode

相关链接

1.2.67

4 years ago

这又是一个Bug修复安全加固版本,补充了autoType黑名单。

Issues

  1. 修复toJavaObject方法JSONField.deserializeUsing配置不生效的问题 #3060
  2. 反序列化增加对java.util.Deque的支持
  3. 反序列化增强识别日期格式yyyy-MM-d HH:mm:ss #3049
  4. 修复某些场景JSONPath报错的问题 #3056
  5. 增强autoType安全黑名单

相关链接

1.2.66

4 years ago

这又是一个维护版本,修复了一些BUG,并且做安全加固,补充了AutoType黑名单。

Issues

  1. 修复某些场景下BeanToArray报错的问题
  2. 修复某些场景多版本共存导致的的兼容问题
  3. 修复JSONArray构造方法中,由null List会引发的NPE问题
  4. 修复大对象某些场景会报错的问题 #2779
  5. 修复字符串自动转换为数值时,小数点后全零报错的问题 #2838
  6. 修复某些场景下不识别Kotlin泛型的问题
  7. 修复开始SupportNonPublicField特性后JSONField配置name不支持private字段的问题 #2866
  8. 修复纳秒级 Timestamp 解析异常问题 #2894
  9. 日期自动识别增强对纳秒时间的支持的
  10. 支持对Queue类型的反序列化
  11. 修复JSONField 在LocalDateTime类型时 format 不生效问题
  12. 修复JSONValidator有些场景不能识别非法JSON数据的问题 #3017
  13. 加强安全防护

相关链接

1.2.62

4 years ago

国庆期间在家休息,更新一个版本。主要是增加autoType黑名单、增强日期反序列化支持、增强JSONPath支持。

再次声明一下,fastjson的autoType缺省是关闭的,缺省是基于白名单的。autoType黑名单的不断补充是给一些特别场景需要的,没有显式打开autoType的用户,不需要因为安全原因升级到大于1.2.60的版本。

Issues

  1. 增加autoType黑名单
  2. 修复JavaBeanSerializer.processValue兼容问题 #2790
  3. 修复JSONField.unwrapped在toJSON方法中不起作用的问题 #2447
  4. 增强日期定制序列化反序列化的支持,增强dateFormat的支持,新增支持'millis'和'unixtime'两种格式输出和反序列化
  5. 修复某些场景下多级别泛型推导不起作用的问题 #2397
  6. JSONPath.remove方法支持更多语法 #2791
  7. JSONPath复杂表达式支持更多场景 #2743 #2792
  8. 支持$和_开头字段 #2762
  9. 反序列化自动识别日期格式支持新西兰时区 #2754

相关链接

1.2.61

4 years ago

最近Freebuf有人发表了文章,公布了两个不在autoType黑名单中可以被利用的类,某安全厂商把漏洞定义为高。这里要说明下,autoType默认是关闭的,需要显示配置打开并且依赖特定包的漏洞不应该算是高危漏洞。

欢迎 https://github.com/Omega-Ariston 成为 fastjson的committer。

Issues

  1. 增加autoType安全黑名单
  2. 恢复1.2.60版本SerializeConfig中误删的put方法
  3. 修复JSONField.unwrapped在某些场景属性丢失的问题 #2753
  4. 修复Feature.NonStringKeyAsString在某些场景不生效的问题 #2736
  5. 修复不支持guava ArrayListMultimap的问题 #2430
  6. 修复JSON.parseArray方法不能识别byte[].class和char[].class作为变长参数的问题 #2464
  7. 修复snake_case配置在嵌套时不生效的问题 #2428
  8. 修复BigInteger类属性在超大数时结果不对的问题 #2628
  9. 修复java.sql.Date在某些场景丢失精度的问题

相关链接

1.2.60

4 years ago

这又是一个BUG修复安全加固版本,增加了AutoType黑名单,修复了一个导致拒绝服务的问题。

安全修复建议

拒绝服务安全漏洞涉及之前所有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/wiki/1_2_60_incompatible

为了方便大家无缝升级,提供了如下原地升级版本

1.2.48.sec06
1.2.51.sec06
1.2.54.sec06
1.2.56.sec06
1.2.57.sec06
1.2.58.sec06

Issues

  1. 安全增强,增加AutoType黑名单,修复特定场景导致拒绝服务的问题
  2. 序列化支持org.json.JSONObject类型 #1780
  3. 修复某些场景Enum定制反序列化不生效的问题 #2179
  4. 修复某些场景解析非法字符串不抛异常的问题 #2641
  5. 修复JSONField配置WriteBigDecimalAsPlain不生效的问题 #2355
  6. 增强Builder模式支持,JSONPOJOBuilder支持withPrefix为空字符串等,#2346 #2673
  7. 修复全接口对象@Transient不起作用的问题 #1903
  8. 修复解析base64字符串带'/'解析错误的问题
  9. 修复使用JSONField指定序列化使用单引号不生效的问题 #2678
  10. 修复使用JSONField指定WriteMapNullValue特性不生效的问题
  11. 反序列化自动识别日期格式支持'yyyy-MM-dd HH:mm:ss,SSS'
  12. 反序列化日期格式支持unixtime #2300
  13. 修复序列化byte[]在某些场景报错的问题 #2602
  14. 新增加高性能JSONValidator API https://github.com/alibaba/fastjson/wiki/JSONValidator
  15. 新增Mixed功能,解决第三方无法修改源码的类定制序列化问题 https://github.com/alibaba/fastjson/wiki/MixInAnnotations_cn

相关链接

1.2.59

4 years ago

这个版本主要是补充AutoType黑名单,增强AutoType打开时的安全性。建议不要缺省打开AutoType,AutoType打开后,黑名单是无法保证是完整的。

Issues

  1. 安全增强补充AutoType黑名单
  2. 增强JSONPath对特别字符的支持 #2515
  3. JSONPath.remove方法支持deepScan语法
  4. 修复Field和Getter类型不一致时反序列化报错的问题
  5. 修复JSONObject.toJavaObject报错的问题 #2516

相关链接

1.2.58

5 years ago

五一期间没外出,在家休息,修复已知问题,发一个版本。改动很少,只有3个Issue。

Issues

  1. 修复JDK 5/6/7兼容问题
  2. 内置支持Moneta
  3. 提升JSONObject.toJavaObject性能

相关链接

1.1.71.android

5 years ago

这个是例行维护版本,修复2个bug,增加一个1.2.x兼容的方法,优化部分场景的性能。

Issues

  1. 修复反序列化Class[]类型报错的问题 #1945
  2. 修复JSONType指定typeKey时反序列化丢失部分字段的问题 #1941
  3. 增加JSON.parseObject(String/Type/ParserConfig/Feature...)方法,兼容1.2.x API
  4. 提升JSONObject.toJavaObject方法性能
  5. 提升字符串castToDouble的性能

相关链接

1.2.57

5 years ago

这又是一个例行的bug修复维护版本。修复BUG ,提升某些场景的性能。

Issues

  1. 修复智能匹配多余字段时覆盖原字段的问题 #2348
  2. 支持序列化按父类字段序列化 #2289 https://github.com/alibaba/fastjson/wiki/WriteAs_CN
  3. 修复JSON.parseArray反序列化非静态内部类时报错信息不友好的问题 #2358
  4. 修复JSONPath的一些问题 #2189 #2306
  5. 修复Java 10兼容问题 #2105
  6. 修复SupportArrayToBean反序列化首字段是字符串是报错的问题 #2351
  7. 序列化反序列化支持ByteBuffer类型 #2357
  8. 修复BrowserCompatible在long类型时无效的问题 #2344
  9. 序列化java.sql.Date使用yyyy-MM-dd格式 #2156
  10. Date、Timestamp类型支持1970年以前的时间格式 #2260
  11. 新增JSONObject.toString(SerializeFeature...)方法 #2074
  12. 修复复杂继承情况下 TypeUtils.getCollectionItemType() 获取类型错误导致反序列化失败的问题 #2224
  13. 提升字段数量大于200个的对象反序列化性能
  14. 提升JSONObject.toJavaObject性能

相关链接