Skip to content
KitploitKITPLOIT
工具漏洞利用博客
Log in
提交
工具漏洞利用博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
jackson — 本仓库针对 CVE-2025-52999、GHSA-2m67-wjpj-xhg9 和 sonatype-2022-6438 中报告的拒绝服务及无限制或无节流资源分配安全漏洞,提供了全面的安全修复,同时保持与 jackson‑core 2.13.5 的完全兼容性。 | Kitploit
工具/GitHubGitHub/sassoftware/jackson
通用工具静态分析漏洞分析代码分析供应链安全
GitHubsassoftware/jackson

jackson

本仓库针对 CVE-2025-52999、GHSA-2m67-wjpj-xhg9 和 sonatype-2022-6438 中报告的拒绝服务及无限制或无节流资源分配安全漏洞,提供了全面的安全修复,同时保持与 jackson‑core 2.13.5 的完全兼容性。

查看仓库
1115个月前尚未审核

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

Jackson core 2.13.5 安全漏洞分析与修复

  • CVE-2025-52999
  • SNYK-JAVA-COMFASTERXMLJACKSONCORE-15365924
  • SNYK-JAVA-COMFASTERXMLJACKSONCORE-15907551 (GHSA-2m67-wjpj-xhg9)
  • SNYK-JAVA-COMFASTERXMLJACKSONCORE-7569538 (Sonatype-2022-6438)

此分支(2.13.5-CVE-2025-52999-sonatype-2022-6438-GHSA-2m67-wjpj-xhg9)包含针对 jackson-core 2.13.5 的拒绝服务(DoS)及“无限制或节流的资源分配”漏洞的全面安全修复。它引入了 StreamReadConstraints API — 与 jackson-core 2.15.0 引入的 API 保持一致,但扩展了更广泛的解析器覆盖范围 并增加了额外的攻击向量防护 — 解决了一个嵌套深度耗尽攻击 (CVE-2025-52999)、无限制或节流的资源分配(SNYK-JAVA-COMFASTERXMLJACKSONCORE-15365924)、一个文档长度约束绕过漏洞(SNYK-JAVA-COMFASTERXMLJACKSONCORE-15907551 / GHSA-2m67-wjpj-xhg9)以及一个数值令牌长度耗尽攻击(Sonatype-2022-6438),同时保持与 jackson-core 2.13.5 版本的公共 API 表面兼容。

分支历史

分支已修复的漏洞
2.13.5-CVE-2025-52999-sonatype-2022-6438CVE-2025-52999, Sonatype-2022-6438, SNYK-JAVA-COMFASTERXMLJACKSONCORE-15365924
2.13.5-CVE-2025-52999-sonatype-2022-6438-GHSA-2m67-wjpj-xhg9以上所有漏洞 + GHSA-2m67-wjpj-xhg9(文档长度约束绕过)

原始分支(2.13.5-CVE-2025-52999-sonatype-2022-6438)修复了三个漏洞 并保存在 sasso 远程仓库中。此分支在其基础上增加了对 GHSA-2m67-wjpj-xhg9 的修复, 该修复在所有解析器路径上强制执行 maxDocumentLength。


漏洞概述

ID类型严重性CVSS上游修复
CVE-2025-52999拒绝服务 — 无限制的嵌套深度高7.5 (AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H)jackson-core 2.15.0
Sonatype-2022-6438 / SNYK-JAVA-COMFASTERXMLJACKSONCORE-7569538拒绝服务 — 无限制的数值令牌长度高7.5 (AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H)jackson-core 2.15.0
SNYK-JAVA-COMFASTERXMLJACKSONCORE-15365924无限制或节流的资源分配高8.7 (AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H)jackson-core 2.18.6, 2.21.1 或更高版本。
SNYK-JAVA-COMFASTERXMLJACKSONCORE-15907551 / GHSA-2m67-wjpj-xhg9无限制或节流的资源分配 — 文档长度约束绕过高8.7 (AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H)jackson-core 2.18.7, 2.21.2 或更高版本。

受影响与已修复版本

版本CVE-2025-52999Sonatype-2022-6438 / SNYK-JAVA-COMFASTERXMLJACKSONCORE-7569538SNYK-JAVA-COMFASTERXMLJACKSONCORE-15365924SNYK-JAVA-COMFASTERXMLJACKSONCORE-15907551
2.13.5受影响受影响受影响受影响
2.13.5-CVE-2025-52999-sonatype-2022-6438已修复已修复已修复受影响
2.13.5-CVE-2025-52999-sonatype-2022-6438-GHSA-2m67-wjpj-xhg9已修复已修复已修复已修复
2.14.x受影响受影响受影响受影响
2.15.x已修复已修复受影响受影响
2.16.x已修复已修复受影响受影响
2.17.x已修复已修复受影响受影响
2.18.6+已修复已修复已修复受影响
2.18.7+已修复已修复已修复已修复
2.21.1+已修复已修复已修复受影响
2.21.2+已修复已修复已修复已修复

漏洞描述

CVE-2025-52999 — 无限制的 JSON 嵌套深度

NVD 条目

字段值
CVE IDCVE-2025-52999
发布日期2025-06-25
最后修改日期2025-06-26
来源(CNA)GitHub, Inc.
CVSS v4.0 分数8.7 高 — CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N
CWECWE-121 — 基于栈的缓冲区溢出
GitHub 安全公告GHSA-h46c-h94j-95f3
上游修复 PRjackson-core#943

官方 NVD 描述

jackson-core 包含 Jackson 数据处理器使用的基本低级增量(“流式”)解析器和生成器抽象。 在 2.15.0 之前的版本中,如果用户解析一个输入文件并且该文件包含深度嵌套的数据,则当嵌套特别深时,Jackson 可能抛出 StackOverflowError。 jackson-core 2.15.0 包含一个可配置的深度限制,控制 Jackson 在输入文档中的遍历深度,默认允许深度为 1000。 当达到该限制时,jackson-core 将抛出 StreamConstraintsException。jackson-databind 也受益于此更改,因为它使用 jackson-core 解析 JSON 输入。 作为临时解决方法,用户应避免解析来自不可信来源的输入文件。

临时解决方法: 在部署修复版本之前,避免解析来自不可信来源的 JSON 输入。


根本原因: 在 2.15.0 之前,JsonParser 对 JSON 文档的嵌套深度没有设置任何限制。每个数组 [ 或对象 { 令牌都会导致 JsonReadContext.createChildArrayContext() / createChildObjectContext() 在堆上分配一个新的上下文节点并递增引用链。攻击者可以构造一个包含数万层嵌套的文档,导致 Java 虚拟机耗尽线程栈或堆内存。

易受攻击的代码路径:

该缺失检查在四个解析器实现中均可到达:``` JsonParser.nextToken() // common entry point │ ├─ ReaderBasedJsonParser → _parsePunctuationMark() ├─ UTF8StreamJsonParser → _parsePunctuationMark() ├─ UTF8DataInputJsonParser → _parsePunctuationMark() └─ NonBlockingJsonParserBase → _startArrayScope() / _startObjectScope() │ ▼ _parsingContext.createChildArrayContext() // '[' encountered _parsingContext.createChildObjectContext() // '{' encountered ⚠ no depth check — context chain grows without bound

所有四个 `JsonParser` 实现都存在此缺陷。攻击同样可通过其中任何一个进行利用——无论输入是通过 `InputStream`、`Reader`、`DataInput` 还是异步非阻塞的 feeder API 到达。

**攻击向量:**

| # | 策略 | 示例负载 | 深度增量 | 受影响的解析器 |
|---|------|----------|---------|----------------|
| 1 | 数组嵌套 | `[[[…]]]` — 1,001 个连续的 `[` 令牌 | 每 `[` 增加 +1 | 所有四个 |
| 2 | 对象嵌套 | `{"k":{"k":{…}}}` — 1,001 个连续的 `{` 令牌 | 每 `{` 增加 +1 | 所有四个 |
| 3 | 交替嵌套 | `[{"k":[{"k":…}]}]` — 1,001 个混合 `[`/`{` 令牌 | 每 `[` 或 `{` 增加 +1 | 所有四个 |

关键观察:

- **数组嵌套——最小开销:** 仅需要 `[` 和 `]` 令牌;无需键、值或空白。一个 2,002 字节的负载包含 1,001 对括号就足以超过默认的 1,000 限制。
- **对象嵌套——放大的堆压力:** 每个 `{` 额外在深度链节点上分配一个 `JsonReadContext` 键槽,在极端深度下加剧内存消耗。
- **交替嵌套——绕过Web应用防火墙(WAF):** 检测重复 `[[[` 或 `{{{` 序列的模式匹配防御对交替令牌嵌套无效;无论令牌类型如何,解析器的深度计数器都会相同地递增。
- **非阻塞 feeder——相同负载,不同交付面:** 所有三种嵌套策略均可通过 `NonBlockingJsonParser` 和 `ByteArrayFeeder` API 同样利用。文档可以以任意小的块交付;无论字节如何到达,`NonBlockingJsonParserBase._startArrayScope()` / `_startObjectScope()` 都会在每个打开上下文的令牌上递增深度计数器,并在多个 `feedInput()` 调用中累计深度。

所有三种嵌套策略均可通过四个 `JsonParser` 实现中的任何一个达到。
在 2.13.5 中,解析会静默成功;通过此修复,所有三个向量都会抛出 `StreamConstraintsException: Depth (1001) exceeds the maximum allowed nesting depth (1000)`。

---

### Sonatype-2022-6438 — 无界数字令牌长度

**安全详情**

| 字段 | 值 |
|------|-----|
| Sonatype ID | [sonatype-2022-6438](https://guide.sonatype.com/vulnerability/sonatype-2022-6438/security-details) |
| 描述 | jackson-core — 拒绝服务 (DoS) |
| 发布时间 | 2022-12-07 |
| 来源 | Sonatype |
| CVSS v3.1 评分 | **7.5 高** — `CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H` |
| CWE | [CWE-770](https://cwe.mitre.org/data/definitions/770.html) — 无限制或节流的资源分配 |
| EPSS 评分 | 0% |
| 上游修复 PR | [jackson-core#827](https://github.com/FasterXML/jackson-core/pull/827), [jackson-core#846](https://github.com/FasterXML/jackson-core/pull/846) |

**受影响的方法(由 Sonatype 识别)**
下载工具