CVE-2026-42440

Yüksek

Açıklama

Apache OpenNLP AbstractModelReader'da Sınırsız Dizi Tahsisi Yoluyla OOM Hizmet Reddi Etkilenen Versiyonlar: 1.9.5 öncesi 2.5.9 öncesi 3.0.0-M3 öncesi Açıklama: AbstractModelReader içerisindeki getOutcomes(), getOutcomePatterns() ve getPredicates() metodlarının her biri, ikili bir model akışından 32 bit imzalı tam sayı türünde bir sayım alanı okur ve bu değeri, değerin negatif olmadığını veya makul bir sınır içinde olduğunu doğrulamadan doğrudan bir dizi tahsisine (new String[numOutcomes], new int[numOCTypes][], new String[NUM_PREDS]) aktarır. Bu nedenle, model dosyası güvenilmeyen bir kaynaktan geldiğinde, sayım miktarı tamamen saldırganın kontrolündedir. Bu sayım alanlarından herhangi birinin Integer.MAX_VALUE (veya mevcut yığını tüketecek kadar büyük herhangi bir değere) ayarlandığı özel olarak hazırlanmış bir .bin model dosyası, ilgili etiket veya desen verileri akıştan tüketilmeden önce, dizi tahsisi sırasında bir OutOfMemoryError tetikler. Hata, serileştirmenin çok erken aşamalarında meydana gelir: Bir GIS modeli için getOutcomes() metoduna yalnızca model tipi dizesi, düzeltme sabiti ve düzeltme parametresi okunduktan sonra ulaşılır; böylece saldırgan, yükü silahlandırmak için anlamlı bir boyut maliyeti ödemez ve tek bir küçük dosya, kendisini yükleyen bir JVM'yi çökertebilir. GenericModelReader'ın doğrudan kullanımı ve model yükleme sırasında ona yetki veren tüm üst düzey bileşenler dahil olmak üzere, .bin modelini serileştiren tüm kod yolları etkilenmektedir. Pratik etkisi, model dosyalarını güvenilmeyen veya yarı güvenilir kaynaklardan yükleyen işlemlere karşı hizmet reddidir. Azaltma: * 2.x kullanıcıları 2.5.9 sürümüne yükseltmelidir. * 3.x kullanıcıları 3.0.0-M3 sürümüne yükseltmelidir. Not: Düzeltme, üç sayım alanının her biri için dizi tahsisinden önce kontrol edilen bir üst sınır getirir; negatif olan veya sınırı aşan sayımlar bir IllegalArgumentException fırlatılmasına neden olur ve okuma işlemi büyük bir tahsis yapılmadan hızla başarısız olur. Varsayılan sınır, meşru OpenNLP modellerinin giriş sayılarının oldukça üzerinde ancak yığın tükenmesini tehdit edecek herhangi bir değerin çok altında olan 10.000.000'dir. Varsayılandan daha fazla girişe sahip modelleri yüklemesi gereken dağıtımlar, OPENNLP_MAX_ENTRIES sistem özelliğini istenen pozitif tam sayıya ayarlayarak (örneğin -DOPENNLP_MAX_ENTRIES=50000000) limiti JVM başlangıcında artırabilir; geçersiz veya pozitif olmayan değerlerde varsayılan değere dönülür. Hemen yükseltme yapamayan kullanıcılar, kaynağı doğrulanmadığı sürece tüm .bin model dosyalarını güvenilmeyen girdi olarak değerlendirmeli ve son kullanıcılar tarafından sağlanan veya bütünlük kontrolleri yapılmadan üçüncü taraf depolardan alınan modelleri yüklemekten kaçınmalıdır.

ÖnemYüksek
CVSS7.5
İstismar olasılığı—
ÜrünApache Opennlp
Yayın4 May 2026
İlk görülme4 May 2026
Zayıflık türüCWE-789CWE-789

Nasıl düzeltilir

Güncelleyin
  • apache opennlp2.5.9 ya da sonraki bir sürüm
  • org.apache.opennlp:opennlp-tools2.5.9, 3.0.0-M3, 1.9.5 ya da sonraki bir sürüm

Etkilenen ürünler

ÜrünEtkilenen sürümlerDüzeltildiği sürüm
apache opennlpv < 2.5.9, 3.0.02.5.9
org.apache.opennlp:opennlp-toolsMavenv < 2.5.9, 3.0.0-M1 ≤ v < 3.0.0-M3, 2.0.0 ≤ v < 2.5.9, v < 1.9.52.5.9, 3.0.0-M3, 1.9.5

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.

CVE-2026-42440 · Apache Opennlp · Dark Radar