CVE-2026-67211

Yüksek

Açıklama

Apache OpenNLP SymSpellModelSerializer'da Sınırsız Map Ön Boyutlandırması Yoluyla OOM Hizmet Reddi Etkilenen Versiyonlar: - 3.0.0-M4 - 3.0.0-M5 (opennlp-spellcheck eklentisi 3.0.0-M4 sürümünde tanıtılmıştır. 1.x ve 2.x sürümleri etkilenen kodu içermemektedir.) Açıklama: SymSpellModelSerializer.create() metodu, ikili bir SymSpell model akışından iki adet 32-bit imzalı tam sayı sayım alanı (unigramCount ve bigramCount) okur ve yalnızca negatif olmadığını doğruladıktan sonra her bir değeri doğrudan LinkedHashMap.newLinkedHashMap() metoduna iletir. Herhangi bir üst sınır uygulanmadığından, model dosyası güvenilmeyen bir kaynaktan geldiğinde sayım tamamen saldırganın kontrolündedir. Herhangi bir sayım alanının Integer.MAX_VALUE (veya mevcut yığını tüketecek kadar büyük herhangi bir değer) olarak ayarlandığı özel hazırlanmış bir .bin model dosyası, haritanın 2^30 giriş kapasitesine ön boyutlandırılmasına neden olur. Aşırı boyutlandırılmış destekleyici dizi, söz konusu haritaya yapılan ilk put() işleminde tahsis edilir; sıkıştırılmış oops'ların etkin olup olmamasına bağlı olarak 4–8 GB talep edilir ve yükleme işlemi bir OutOfMemoryError ile başarısız olur. Sayım alanları sabit boyutlu bir başlığın (magic, format versiyonu, üç UTF dizesi, yapılandırma alanları ve düzenleme mesafesi tanımlayıcısı) hemen ardından geldiği için, saldırgan bir payload oluşturmak için anlamlı bir boyut maliyeti ödemez: 100 baytın çok altındaki bir dosya artı tek bir gerçek giriş, onu yükleyen bir JVM'yi çökertmek için yeterlidir. SymSpellModels.deserialize(InputStream), SymSpellModels.fromBytes(byte[]), SymSpellModelResolver.resolveByLanguage(String) aracılığıyla sınıf yolu üzerinden model yükleme, CorrectTextTool komut satırı aracı ve kayıtlı ArtifactSerializer üzerinden model arşivi yükleme dahil olmak üzere, bir SymSpell modelini serileştiren tüm kod yolları etkilenmektedir. opennlp-spellcheck eklentisi resmi OpenNLP ikili dağıtımında yer almaktadır. Pratik etkisi, SymSpell model dosyalarını güvenilmeyen veya yarı güvenilir kaynaklardan yükleyen süreçlere karşı hizmet reddidir. Azaltma: - 3.x kullanıcıları 3.0.0-M6 sürümüne yükseltmelidir. Not: Düzeltme, harita ön boyutlandırılmadan önce kontrol edilen her iki sayım alanına da bir üst sınır uygular; negatif olan veya sınırı aşan sayımlar bir IOException fırlatılmasına neden olur ve okuma işlemi büyük bir tahsis yapılmadan hızla başarısız olur. Sınır, daha önce tanıtılan mevcut AbstractModelReader.MAX_ENTRIES limitidir; mevcut değişiklik, kendi ikili formatlarını uygulayan serileştiricilerin bu limiti paylaşabilmesi için bunu genel görünürlüğe taşır. Varsayılan sınır, meşru SymSpell sözlüklerinin 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. Meşru olarak daha büyük sözlükler yüklemesi gereken kurulumlar, OPENNLP_MAX_ENTRIES sistem özelliğini istenen pozitif tam sayıya ayarlayarak (örneğin -DOPENNLP_MAX_ENTRIES=50000000) JVM başlangıcında limiti artırabilir; geçersiz veya pozitif olmayan değerlerde varsayılana dönülür. Bu özelliğin model-okuyucu limitiyle paylaşıldığını ve artırılmasının her ikisini de gevşettiğini unutmayın. Hemen yükseltme yapamayan kullanıcılar, kaynağı doğrulanmadıkça tüm SymSpell .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ın11 Eyl 2026
İlk görülme11 Eyl 2026
Zayıflık türüCWE-789CWE-789

Nasıl düzeltilir

Etkilenen ürünler

ÜrünEtkilenen sürümlerDüzeltildiği sürüm
apache opennlp3.0.0—

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-67211 · Apache Opennlp · Dark Radar