CVE-2026-18401

Orta

Açıklama

jackson-core içindeki engellemesiz (asenkron) JSON ayrıştırıcısı, StreamReadConstraints içinde tanımlanan maxNumberLength kısıtlamasını (varsayılan: 1000 karakter) uygulamaz. Asenkron ayrıştırıcı API'sini kullanan bir uygulamaya JSON gönderebilen bir saldırgan, keyfi uzunlukta bir sayı belirteci sağlayarak aşırı bellek tahsisine ve potansiyel CPU tükenmesine yol açabilir; bu da hizmet reddi ile sonuçlanır. Senkron ayrıştırıcı bu sınırı doğru şekilde uygular; dolayısıyla kısıtlama, uygulamanın hangi ayrıştırma API'sini kullandığına bağlı olarak tutarsız biçimde uygulanır. Kök neden: NonBlockingUtf8JsonParserBase ve ilgili sınıflardaki asenkron ayrıştırma yolu, sayı uzunluğu doğrulama yöntemlerini hiçbir zaman çağırmaz. _finishNumberIntegralPart() gibi sayı ayrıştırma yöntemleri, rakamları herhangi bir uzunluk kontrolü olmadan TextBuffer içinde biriktirir ve ardından belirteci sonlandırmak için _valueComplete() çağrısını yapar. _valueComplete(), ParserBase içinde validateIntegerLength() ve validateFPLength() işlemlerinin gerçekleştirildiği yöntemler olan resetInt() veya resetFloat() çağrısını yapmaz. Bu doğrulama adımı atlandığı için maxNumberLength, asenkron kod yolunda hiçbir zaman uygulanmaz. Etki: Asenkron ayrıştırıcıyı kullanan bir uygulamaya (örneğin bir Spring WebFlux veya başka bir reaktif uygulama) keyfi uzunlukta bir sayı içeren bir JSON belgesi gönderen bir saldırgan, TextBuffer içinde sınırsız tahsise ve bir OutOfMemoryError'a neden olabilir. Uygulama daha sonra getBigIntegerValue() veya getDecimalValue() çağrısını yaparsa, JVM ek olarak O(n^2) BigInteger ayrıştırmasıyla meşgul edilebilir ve CPU tabanlı hizmet reddine yol açılabilir. Ayrıştırma için veri gönderme yeteneği dışında hiçbir ayrıcalık veya kullanıcı etkileşimi gerekmez. Bu sorun, com.fasterxml.jackson.core:jackson-core paketini 2.15.0 sürümünden 2.18.5 sürümüne kadar ve 2.19.0 sürümünden 2.21.0 sürümüne kadar, tools.jackson.core:jackson-core paketini ise 3.0.0 sürümünden 3.0.x sürümüne kadar etkiler. 2.15.0 öncesi sürümler etkilenmez; çünkü maxNumberLength ayarını tanımlayan StreamReadConstraints ilk olarak jackson-core 2.15.0 sürümünde sunulmuştur, dolayısıyla önceki sürümlerde atlatılabilecek böyle bir kısıtlama mevcut değildir. GHSA-72hv-8253-57qq kaydının, etkilenen 2.x aralığının alt sınırını 2.0.0 olarak belirttiğini unutmayın.

ÖnemOrta
CVSS6.9
İstismar olasılığı—
ÜrünTools.jackson.core:jackson-core
Yayın4 Ağu 2026
İlk görülme4 Ağu 2026

Nasıl düzeltilir

Güncelleyin
  • tools.jackson.core:jackson-core3.1.0 ya da sonraki bir sürüm
  • com.fasterxml.jackson.core:jackson-core2.21.1, 2.18.6 ya da sonraki bir sürüm

Etkilenen ürünler

ÜrünEtkilenen sürümlerDüzeltildiği sürüm
tools.jackson.core:jackson-coreMaven3.0.0 ≤ v < 3.1.03.1.0
com.fasterxml.jackson.core:jackson-coreMaven2.19.0 ≤ v < 2.21.1, 2.15.0 ≤ v < 2.18.62.21.1, 2.18.6

Sürümünüzü kontrol edin

Ürünü seçin ve kullandığınız sürümü yazın; sürümün etkilenen aralıkta olup olmadığını görün.

Intelligence 360 paketinde

Attack Surface Management

Alan adlarınıza bağlı varlıkları, bu varlıklarda çalışan teknolojileri ve bilinen zafiyetleri tek listede görün.