jackson-core: Async parser maxNumberLength bypass via chunked digit accumulation (incomplete fix for CVE-2026-18401 / GHSA-72hv-8253-57qq)
The fix released in jackson-core 2.18.6 and 2.21.1 for CVE-2026-18401 (GHSA-72hv-8253-57qq, number length constraint bypass in the non-blocking parser) is incomplete. This record covers the remaining bypass. The earlier fix wired validateIntegerLength() into a new _setIntLength() helper and invoked it wherever the integer portion of a number is decided: a terminator byte arrives, a '.' or 'e'/'E' is seen, or input ends inside a fully buffered value. It was not invoked on the attacker-relevant path where the parser runs out of input while still inside the MINOR_NUMBER_INTEGER_DIGITS minor state and returns NOT_AVAILABLE to the caller. As a result, an attacker who streams JSON to a non-blocking parser in many small chunks, without ever sending a terminator byte, keeps the parser inside MINOR_NUMBER_INTEGER_DIGITS indefinitely. _textBuffer.expandCurrentSegment() grows the accumulator on every chunk while validateIntegerLength() is never called. The accumulator is bounded only by maxStringLength (20 MiB by default) rather than by maxNumberLength (1000 by default), an amplification of roughly 20,000x over the documented limit. Because Java char values occupy two bytes, a single connection can be driven to approximately 40 MiB of heap before the validator finally fires when the value completes. The equivalent fraction-path code is correct: _finishFloatFraction() calls _setFractLength() before its NOT_AVAILABLE return. The missing call affects the integer-digit paths in _startPositiveNumber(), _startNegativeNumber() and _finishNumberIntegralPart() in NonBlockingUtf8JsonParserBase. Impact: reactive frameworks such as Spring WebFlux/Reactor, Quarkus, Helidon and Vert.x feed inbound HTTP or gRPC bytes to the async parser as they arrive, which is precisely the chunked-feed shape required. Operators who set StreamReadConstraints.maxNumberLength expecting it to cap memory per number value do not get that guarantee; memory accumulates per concurrent connection and attacker-controlled concurrency can exhaust the JVM heap. The synchronous parsers (UTF8StreamJsonParser, ReaderBasedJsonParser) and the async parser operating on complete input are not affected. Exploitation requires only the ability to stream data to a parsing endpoint; no privileges or user interaction are needed. This issue affects com.fasterxml.jackson.core:jackson-core from version 2.15.0 through 2.18.7, and from 2.19.0 through 2.21.3, and tools.jackson.core:jackson-core from 3.0.0 through 3.1.3. Versions prior to 2.15.0 are not affected, because StreamReadConstraints -- which defines the maxNumberLength setting -- was first introduced in jackson-core 2.15.0, so no such constraint exists to be bypassed in earlier releases. Note that GHSA-r7wm-3cxj-wff9 states the affected 2.x range without a lower bound. The 2.22.x and 3.2.x release lines are not affected: those branches were created after the fix commit landed on 2026-05-21 and therefore contain it from their initial releases (2.22.0, tagged 2026-06-03, and 3.2.0, tagged 2026-06-08).
- Yayın
- 4 Ağu 2026
- Güncelleme
- 8 Eyl 2026
- EPSS
- %0,6 · 48. yüzdelik
- CWE
- CWE-770
Takip etmek için giriş yap · Takip ettiğin kayıt KEV’e girer, istismarı çıkar ya da güncellenirse bildirim alırsın.
Rapor araçları
Aksiyon skoru
34
İzleyin
Şimdilik düşük öncelik.
- CVSS
- 34 / 40 · 8.7 / 10
- CISA KEV
- 0 / 30 · Listede değil
- EPSS
- 0 / 30 · %0,6
CISA SSVC kararı
- Sömürü
- kavram kanıtı
- Otomatikleştirilebilir
- evet
- Teknik etki
- kısmi
Vulnrichment: CISA'nın karar ağacı girdileri.
CNA ile NVD puanı
- NVD
- —
- CNA · HeroDevs
- 8,7
- NVD henüz kendi puanını vermedi; gösterilen puan CNA’nın.
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
Kaydı açan otoritenin puanı ile NVD’nin bağımsız puanı. İki puan arasındaki fark ciddiyetin tartışmalı olduğunu gösterir.
Etkilenen sistemler
—
Üreticinin bildirdiği sürümler
Kaydı açan otorite (HeroDevs) tarafından bildirilen etkilenen sürüm aralıkları. NVD'nin CPE analizinden bağımsızdır ve genellikle ondan önce gelir.
FasterXML jackson-core
- 2.18.8, 2.21.4, 3.1.4etkilenmez
- 2.15.0 ve sonrası · 2.18.8 öncesietkilenir · maven
- 2.19.0 ve sonrası · 2.21.4 öncesietkilenir · maven
- 3.0.0 ve sonrası · 3.1.4 öncesietkilenir · maven
Paket düzeyi etkilenme
OSV ve GitHub Advisory verisi: ekosistem, paket ve aralık. SBOM eşleşmesi bu tabloyu kullanır.
| Ekosistem | Paket | Etkilenen aralık | Düzeltme |
|---|---|---|---|
| Maven | com.fasterxml.jackson.core:jackson-core | 2.15.0 itibarıyla · 2.18.6 öncesi | 2.18.6 |
| Maven | com.fasterxml.jackson.core:jackson-core | 2.19.0 itibarıyla · 2.21.1 öncesi | 2.21.1 |
| Maven | com.fasterxml.jackson.core:jackson-core | 2.19.0 itibarıyla · 2.21.4 öncesi | 2.21.4 |
| Maven | com.fasterxml.jackson.core:jackson-core | 2.18.8 öncesi | 2.18.8 |
| Maven | tools.jackson.core:jackson-core | 3.0.0 itibarıyla · 3.1.0 öncesi | 3.1.0 |
| Maven | tools.jackson.core:jackson-core | 3.0.0 itibarıyla · 3.1.4 öncesi | 3.1.4 |
| openSUSE:Tumbleweed | jackson-core | 2.18.9-2.1 öncesi | 2.18.9-2.1 |
| Red Hat:satellite_capsule:6.16::el8 | openvox-server | 0:8.15.2-1.el8sat öncesi | 0:8.15.2-1.el8sat |
| Red Hat:satellite_capsule:6.16::el8 | python-aiohttp | 0:3.14.3-1.el8pc öncesi | 0:3.14.3-1.el8pc |
| Red Hat:satellite_capsule:6.16::el8 | python-aiohttp-debugsource | 0:3.14.3-1.el8pc öncesi | 0:3.14.3-1.el8pc |
| Red Hat:satellite_capsule:6.16::el8 | python3.11-aiohttp | 0:3.14.3-1.el8pc öncesi | 0:3.14.3-1.el8pc |
| Red Hat:satellite_capsule:6.16::el8 | python3.11-aiohttp-debuginfo | 0:3.14.3-1.el8pc öncesi | 0:3.14.3-1.el8pc |
| Red Hat:satellite_capsule:6.16::el8 | rubygem-jwt | 0:2.10.3-1.el8sat öncesi | 0:2.10.3-1.el8sat |
| Red Hat:satellite_capsule:6.16::el9 | openvox-server | 0:8.15.2-1.el9sat öncesi | 0:8.15.2-1.el9sat |
| Red Hat:satellite_capsule:6.16::el9 | python-aiohttp | 0:3.14.3-1.el9pc öncesi | 0:3.14.3-1.el9pc |
| Red Hat:satellite_capsule:6.16::el9 | python-aiohttp-debugsource | 0:3.14.3-1.el9pc öncesi | 0:3.14.3-1.el9pc |
| Red Hat:satellite_capsule:6.16::el9 | python3.11-aiohttp | 0:3.14.3-1.el9pc öncesi | 0:3.14.3-1.el9pc |
| Red Hat:satellite_capsule:6.16::el9 | python3.11-aiohttp-debuginfo | 0:3.14.3-1.el9pc öncesi | 0:3.14.3-1.el9pc |
| Red Hat:satellite_capsule:6.16::el9 | rubygem-jwt | 0:2.10.3-1.el9sat öncesi | 0:2.10.3-1.el9sat |
| Red Hat:satellite_capsule:6.18::el9 | pulpcore-obsolete-packages | 0:1.3.1-5.el9pc öncesi | 0:1.3.1-5.el9pc |
| Red Hat:satellite_capsule:6.18::el9 | python3.12-pulpcore | 0:3.73.30-3.el9pc öncesi | 0:3.73.30-3.el9pc |
| Red Hat:satellite_capsule:6.19::el9 | ansible-core | 1:2.16.19-1.el9sat öncesi | 1:2.16.19-1.el9sat |
| Red Hat:satellite_capsule:6.19::el9 | ansible-test | 1:2.16.19-1.el9sat öncesi | 1:2.16.19-1.el9sat |
| Red Hat:satellite_capsule:6.19::el9 | python3.12-aiohttp | 0:3.14.3-1.el9pc öncesi | 0:3.14.3-1.el9pc |
+3
Aynı üründe
fasterxml: tüm kayıtlarAynı birincil ürünün en yüksek skorlu diğer kayıtları.
- CVE-2026-29062jackson-core: Nesting Depth Constraint Bypass in `UTF8DataInputJsonParser` potentially allowing Resource Exhaustion34İzleyin
- CVE-2025-52999jackson-core Has Potential for StackoverflowError if user parses an input file that contains very deeply nested data34İzleyin
- CVE-2026-89425jackson-core: UTF8DataInputJsonParser._reportInvalidToken() does not honor maxErrorTokenLength, allowing unbounded StringBuilder growth30İzleyin
- CVE-2026-89407jackson-core: quadratic backtracking in NumberInput.PATTERN_FLOAT via looksLikeValidNumber() enables ReDoS30İzleyin
- CVE-2026-18401jackson-core: Number length constraint bypass in non-blocking (async) JSON parser leads to potential denial of service27İzleyin
- CVE-2025-49128Jackson-core Vulnerable to Memory Disclosure via Source Snippet in JsonLocation16İzleyin
Düzeltme
Hangi sürüme geçmeli
Üretici, paket deposu ve Microsoft kayıtlarından derlenen düzeltme sürümleri. Yükseltmeden önce üreticinin notunu doğrulayın.
| Ürün / paket | Düzeltilmiş sürüm | Kaynak |
|---|---|---|
| FasterXML jackson-core | 2.18.8 | Üretici (CNA) |
| FasterXML jackson-core | 2.21.4 | Üretici (CNA) |
| FasterXML jackson-core | 3.1.4 | Üretici (CNA) |
| Maven:com.fasterxml.jackson.core:jackson-core | 2.18.6 | Paket deposu (OSV) |
| Maven:com.fasterxml.jackson.core:jackson-core | 2.18.8 | Paket deposu (OSV) |
| Maven:com.fasterxml.jackson.core:jackson-core | 2.21.1 | Paket deposu (OSV) |
| Maven:com.fasterxml.jackson.core:jackson-core | 2.21.4 | Paket deposu (OSV) |
| Maven:tools.jackson.core:jackson-core | 3.1.0 | Paket deposu (OSV) |
| Maven:tools.jackson.core:jackson-core | 3.1.4 | Paket deposu (OSV) |
| opensuse:jackson-core | 2.18.9-2.1 · openSUSE:Tumbleweed | Paket deposu (OSV) |
| red hat:ansible-core | 1:2.16.19-1.el9sat · Red Hat:satellite_capsule:6.19::el9 | Paket deposu (OSV) |
| red hat:ansible-test | 1:2.16.19-1.el9sat · Red Hat:satellite_capsule:6.19::el9 | Paket deposu (OSV) |
| red hat:openvox-server | 0:8.15.2-1.el8sat · Red Hat:satellite_capsule:6.16::el8 | Paket deposu (OSV) |
| red hat:python-aiohttp | 0:3.14.3-1.el8pc · Red Hat:satellite_capsule:6.16::el8 | Paket deposu (OSV) |
| red hat:python-aiohttp-debugsource | 0:3.14.3-1.el8pc · Red Hat:satellite_capsule:6.16::el8 | Paket deposu (OSV) |
| red hat:python3.11-aiohttp | 0:3.14.3-1.el8pc · Red Hat:satellite_capsule:6.16::el8 | Paket deposu (OSV) |
| red hat:python3.11-aiohttp-debuginfo | 0:3.14.3-1.el8pc · Red Hat:satellite_capsule:6.16::el8 | Paket deposu (OSV) |
| red hat:python3.12-aiohttp | 0:3.14.3-1.el9pc · Red Hat:satellite_capsule:6.19::el9 | Paket deposu (OSV) |
| red hat:python3.12-aiohttp-debuginfo | 0:3.14.3-1.el9pc · Red Hat:satellite_capsule:6.19::el9 | Paket deposu (OSV) |
| red hat:python3.12-aiohttp-debugsource | 0:3.14.3-1.el9pc · Red Hat:satellite_capsule:6.19::el9 | Paket deposu (OSV) |
| red hat:python3.12-gitpython | 0:3.1.59-1.el9pc · Red Hat:satellite_capsule:6.19::el9 | Paket deposu (OSV) |
| red hat:rubygem-jwt | 0:2.10.3-1.el8sat · Red Hat:satellite_capsule:6.16::el8 | Paket deposu (OSV) |
İstismar durumu
Bilinen kamuya açık istismar yok
Şu an kamuya açık bir istismar görülmedi. Bu, güvende olduğunuz anlamına gelmez; yalnızca eşiğin biraz daha yüksek olduğunu gösterir.
Araştırma bağlamı
Pentester ve araştırmacı için: saldırı profili, puan anlaşmazlığı, zaman çizelgesi, yama commit’leri, kredi, varyant ve zincir adayları, bug bounty kapsamı. Hepsi mevcut veriden türetilir; istismar kodu içermez.
Zaman çizelgesi
Yayından bugüne: kavram kanıtı, Metasploit modülü, CISA KEV ve düzeltme kaydı. Tarihler kaynakların bildirdiği tarihlerdir.
Yayın dışında tarihli olay yok.
FIRST EPSS günlük puanı; yalnızca 0,01 ve üstü değişimler kaydedilir (adım grafiği).
Yama ve commit bağlantıları
Referanslardaki commit, PR ve diff adresleri. Patch-diff ve varyant avı için başlangıç noktası; istismar değil, düzeltmedir.
Kredi
Tüm araştırmacılarCNA kaydında adı geçen bulan, bildiren ve analistler. Ada tıkla, aynı araştırmacının diğer kayıtlarını gör.
- tonghuarootbildiren
- cowtowncoder (Tatu Saloranta)koordinatör
Varyant adayları
Aynı üründe aynı zafiyet sınıfı, 18 ay içinde. Yama kök nedeni kapatmadıysa kardeş hata burada olur.
- CVE-2026-29062151 gün araylajackson-core: Nesting Depth Constraint Bypass in `UTF8DataInputJsonParser` potentially allowing Resource Exhaustion34İzleyin
- CVE-2026-184010 gün araylajackson-core: Number length constraint bypass in non-blocking (async) JSON parser leads to potential denial of service27İzleyin
Zincir adayları
Aynı üründe kimlik doğrulama atlatma ile yetki isteyen bir açık kısa aralıkla yayımlanmış: birlikte kimlik doğrulamasız bir yola dönüşebilir.
—
Bug bounty kapsamı
Bilinen herkese açık program yok.
Kaynak: bounty-targets-data (HackerOne, Bugcrowd, Intigriti, YesWeHack herkese açık listeleri).
Teknik detay
Saldırı koşulları
- İnternetten erişebilen herkes tetikleyebilir.
- Hesap ya da parola gerekmez.
- Kullanıcının bir şey yapması gerekmez.
- Özel bir koşul gerekmez; tekrarlanabilir.
Başarılı olursa
- Gizlilik
- Bütünlük
- Erişilebilirlik
- Saldırı vektörü
- Ağ
- Karmaşıklık
- Düşük
- Gereken yetki
- Yok
- Kullanıcı etkileşimi
- Gerekmez
- Kapsam
- X
Zayıflık sınıfı (CWE)
CWE-770 · Allocation of Resources Without Limits or ThrottlingCVSS vektörü
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/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
nvd-secondary
Saldırı bağlamı
Bu zafiyet sınıfının (CWE) MITRE CAPEC saldırı desenleri ve ATT&CK teknikleri. Tespit kuralı ve tehdit avı için başlangıç noktası.
Saldırı desenleri (CAPEC)
- FloodingCAPEC-125olasılık: High · Medium
- Excessive AllocationCAPEC-130olasılık: Medium · Medium
- XML Ping of the DeathCAPEC-147olasılık: Low · Medium
- Exponential Data ExpansionCAPEC-197olasılık: High · Medium
- Serialized Data Parameter BlowupCAPEC-229olasılık: High · High
- Serialized Data with Nested PayloadsCAPEC-230olasılık: Medium · High
- Oversized Serialized Data PayloadsCAPEC-231olasılık: Medium · High
- HTTP DoSCAPEC-469Low
ATT&CK teknikleri
- Network Denial of Service:Direct Network FloodT1498.001
- Network Denial of Service:Reflection AmplificationT1498.002
- Endpoint Denial of ServiceT1499
- Endpoint Denial of Service: OS Exhaustion FloodT1499.001
- Endpoint Denial of Service:Service Exhaustion FloodT1499.002
- Endpoint Denial of Service:Application Exhaustion FloodT1499.003
Noroxi analizi
Bu kayıt için henüz Noroxi analizi yok
385 binden fazla zafiyetin tamamına elle analiz yazmıyoruz; bu dürüst olmazdı. Öne çıkan ve sahada etkisi olan zafiyetler için mekanizma, tespit ve kapatma adımlarını ekibimiz yazıyor.
Bu ürünü kullanıyoruz, yardım isteyinDeğişiklik günlüğü
- Düzeltme✗ → ✓
Takip ettiğiniz kayıtlarda bu değişiklikler bildirim olarak da gelir. →
Referanslar
- github.com/FasterXML/jackson-core/commit/050b429804dce2a7e08f0be1b0b4c3d040fdb9cd
- github.com/FasterXML/jackson-core/commit/4cdd529749da396cc7edf6d4a2aad41d47902641
- github.com/FasterXML/jackson-core/commit/c5941e5aae7fd5aeac55d66933cfb82b9aabeef8
- github.com/FasterXML/jackson-core/pull/1611
- github.com/FasterXML/jackson-core/security/advisories/GHSA-r7wm-3cxj-wff9
- github.com/advisories/GHSA-72hv-8253-57qq
- www.cve.org/CVERecord?id=CVE-2026-18401
Üretici bildirimleri ve resmî kayıtlar. İstismar/PoC bağlantıları bilinçli olarak dışarıda bırakıldı.