fastjson 2.0.63 发布

发布于

fastjson 2.0.63 版本现已发布,本版本为**安全修复版本**,加固了 AutoType 反序列化校验,并修复了多个可由构造输入触发的解析健壮性问题(OOM / DoS)。**强烈建议所有用户升级**,尤其是解析不可信 JSON 或 JSONB 数据的应用。

暂时无法升级的用户,可通过 `-Dfastjson2.parser.safeMode=true` 缓解 AutoType 问题(适用于未使用自定义 `AutoTypeBeforeHandler` 的应用)。

fastjson 1.x 用户:同款 AutoType 加固已在**fastjson 1.2.84**中提供。

## 安全修复

1. 加强 AutoType 类型名校验与白名单验证:包含 URL 特殊字符的类型名在到达类加载器之前即被拒绝;白名单 hash 命中后增加文本回验,仅 hash 碰撞无法再绕过白名单;accept 前缀不再覆盖 `ClassLoader`/`DataSource`/`RowSet` 等危险基类——只有完整类名的 accept 条目才视为显式放行 [#7703](https://github.com/alibaba/fastjson2/pull/7703)
2. 限制数字字面量位数,防止构造的超长数字触发 `BigInteger` O(n²) DoS [#7668](https://github.com/alibaba/fastjson2/issues/7668) [#7694](https://github.com/alibaba/fastjson2/pull/7694)
3. 修复 JSONB `BC_BIGINT` 声明长度 OOM(构造超大长度声明的 payload)[#7669](https://github.com/alibaba/fastjson2/issues/7669) [#7696](https://github.com/alibaba/fastjson2/pull/7696)
4. 修复 JSONB `BC_BINARY` 声明长度 OOM [#7669](https://github.com/alibaba/fastjson2/issues/7669) [#7705](https://github.com/alibaba/fastjson2/pull/7705)

## 变更与问题修复

5. 修复 `Collection` 元素(如 `HashSet`)缺少引用检测的问题,开启 `ReferenceDetection` 时重复元素现在正确序列化为 `$ref` [#7678](https://github.com/alibaba/fastjson2/issues/7678) [#7701](https://github.com/alibaba/fastjson2/pull/7701)
6. 修复 `getObjectWriterInternal` switch 分支中创建的 `ObjectWriter` 未缓存导致的 Metaspace 泄漏 [#7626](https://github.com/alibaba/fastjson2/issues/7626) [#7627](https://github.com/alibaba/fastjson2/pull/7627)
7. 性能修复:将 `getInt`/`setInt` 移出 lambda,避免每次调用自旋 [#7677](https://github.com/alibaba/fastjson2/issues/7677) [#7693](https://github.com/alibaba/fastjson2/pull/7693)
8. 支持 JSONCompiled records [#7665](https://github.com/alibaba/fastjson2/pull/7665)
9. 缺少 kotlin-reflect 导致 Kotlin 类字段值丢失时增加警告日志 [#7675](https://github.com/alibaba/fastjson2/pull/7675)

## Maven 依赖配置

### 标准版本
```xml
dependency
groupIdcom.alibaba.fastjson2/groupId
artifactIdfastjson2/artifactId
version2.0.63/version
/dependency
```

### Android 5 优化版本
```xml
dependency
groupIdcom.alibaba.fastjson2/groupId
artifactIdfastjson2/artifactId
version2.0.63.android5/version
/dependency
```

### Android 8 优化版本
```xml
dependency
groupIdcom.alibaba.fastjson2/groupId
artifactIdfastjson2/artifactId
version2.0.63.android8/version
/dependency
```

更新说明:[https://github.com/alibaba/fastjson2/releases/tag/2.0.63](https://github.com/alibaba/fastjson2/releases/tag/2.0.63)

---

原文链接:[点击查看](https://www.oschina.net/news/482790/fastjson-2-0-63-released)

评论

暂无评论。

0.067847s