Skip to content
KitploitKITPLOIT
도구익스플로잇블로그
Log in
제출
도구익스플로잇블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
jackson — 이 저장소는 jackson‑core 2.13.5와의 완전한 호환성을 유지하면서 CVE-2025-52999, GHSA-2m67-wjpj-xhg9 및 sonatype-2022-6438에서 보고된 서비스 거부(denial-of-service) 및 제한이나 스로틀링 없는 리소스 할당 보안 취약점에 대한 포괄적인 보안 수정을 제공합니다. | Kitploit
도구/GitHubGitHub/sassoftware/jackson
General Purpose UtilitiesStatic AnalysisVulnerability AnalysisCode AnalysisSupply Chain Security
GitHubsassoftware/jackson

jackson

이 저장소는 jackson‑core 2.13.5와의 완전한 호환성을 유지하면서 CVE-2025-52999, GHSA-2m67-wjpj-xhg9 및 sonatype-2022-6438에서 보고된 서비스 거부(denial-of-service) 및 제한이나 스로틀링 없는 리소스 할당 보안 취약점에 대한 포괄적인 보안 수정을 제공합니다.

저장소 보기
1125개월 전아직 검토되지 않음

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

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) 및 제한 없이 또는 스로틀링 없이 리소스를 할당하는 취약점(Allocation of Resources Without Limits or Throttling)에 대한 포괄적인 보안 수정을 포함합니다. jackson-core 2.15.0에서 도입된 API와 정렬되면서도 더 넓은 파서 범위와 추가 공격 벡터 보호 기능으로 확장된 StreamReadConstraints 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이 입력 문서에서 탐색할 수 있는 깊이에 대한 구성 가능한 제한이 포함되어 있으며, 기본 허용 깊이는 1,000입니다. jackson-core는 한도에 도달하면 StreamConstraintsException을 발생시킵니다. jackson-databind도 JSON 입력을 구문 분석하기 위해 jackson-core를 사용하므로 이 변경의 혜택을 받습니다. 해결 방법으로, 사용자는 신뢰할 수 없는 소스의 입력 파일 구문 분석을 피해야 합니다.

해결 방법: 수정 버전이 배포될 때까지 신뢰할 수 없는 소스의 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

All four `JsonParser` implementations share this flaw. The attack is equally exploitable through
any of them — whether input arrives via `InputStream`, `Reader`, `DataInput`, or the async
non-blocking feeder API.

**공격 벡터:**

| # | 전략 | 예시 페이로드 | 깊이 증가 | 영향받는 파서 |
|---|----------|----------------|-----------------|------------------|
| 1 | 배열 중첩 | `[[[…]]]` — 1,001개의 연속된 `[` 토큰 | `[`마다 +1 | 4개 모두 |
| 2 | 객체 중첩 | `{"k":{"k":{…}}}` — 1,001개의 연속된 `{` 토큰 | `{`마다 +1 | 4개 모두 |
| 3 | 교차 중첩 | `[{"k":[{"k":…}]}]` — 1,001개의 혼합 `[`/`{` 토큰 | `[` 또는 `{`마다 +1 | 4개 모두 |

주요 관찰 사항:

- **배열 중첩 — 최소 오버헤드:** `[` 및 `]` 토큰만 필요합니다. 키, 값 또는 공백이 필요 없습니다. 1,001개의 대괄호 쌍으로 구성된 2,002바이트 페이로드만으로도 기본 제한 1,000을 초과하기에 충분합니다.
- **객체 중첩 — 증폭된 힙 압력:** 각 `{`는 깊이 체인 노드 위에 `JsonReadContext` 키 슬롯을 추가로 할당하여, 극단적인 깊이에서 메모리 소비를 가중시킵니다.
- **교차 중첩 — 웹 애플리케이션 방화벽(WAF) 우회:** 반복되는 `[[[` 또는 `{{{` 시퀀스를 탐지하는 패턴 매칭 방어는 교차 토큰 중첩을 인식하지 못합니다. 파서의 깊이 카운터는 토큰 유형과 관계없이 동일하게 증가합니다.
- **비차단 피더 — 동일한 페이로드, 다른 전달 표면:** 세 가지 중첩 전략 모두 `NonBlockingJsonParser` 및 `ByteArrayFeeder` API를 통해 동일하게 악용할 수 있습니다. 문서는 임의로 작은 청크로 전달될 수 있습니다. `NonBlockingJsonParserBase._startArrayScope()` / `_startObjectScope()`는 바이트가 도착하는 방식과 관계없이 모든 컨텍스트 시작 토큰에서 깊이 카운터를 증가시키므로, 여러 `feedInput()` 호출에 걸쳐 깊이가 누적됩니다.

세 가지 중첩 전략 모두 네 가지 `JsonParser` 구현 중 어느 것을 통해서도 도달할 수 있습니다. 2.13.5에서는 파싱이 조용히 성공합니다. 이 수정 사항이 적용되면 세 가지 벡터 모두 `StreamConstraintsException: Depth (1001) exceeds the maximum allowed nesting depth (1000)` 예외를 던집니다.

---

### Sonatype-2022-6438 — 무제한 숫자 토큰 길이

**보안 세부 정보**
도구 다운로드