CVE-2026-82617
Açıklama
opennlp.tools.namefind.RegexNameFinderFactory tarafından sunulan iki yerleşik isim bulucu desen - DEFAULT_REGEX_NAME_FINDER.EMAIL ve DEFAULT_REGEX_NAME_FINDER.URL - belirsiz iç içe nicelendiriciler içermektedir. Bu bulucuları RegexNameFinderFactory.getDefaultRegexNameFinders(...) aracılığıyla elde eden ve ardından bunları RegexNameFinder.find(String[]) veya RegexNameFinder.find(String) üzerinden güvenilmeyen metne uygulayan bir uygulama, özel olarak hazırlanmış küçük bir girdi ile süper-lineer geri izleme (backtracking) işlemine veya sınırsız eşleştirici özyinelemesine zorlanabilir. EMAIL deseni için, @ işaretiyle takip edilmeyen uzun bir yerel bölüm karakter dizisi, eşleştiricinin her başlangıç ofsetinden giriş sonuna kadar yeniden tarama yapmasına neden olur. Maliyet, girdi uzunluğuyla karesel olarak artar: yaklaşık 32 KB'lık bir girdi, tek bir find() çağrısında birkaç saniyelik CPU tüketir ve hiçbir eşleşme döndürmez; girdinin her iki katına çıkması maliyeti yaklaşık dört kat artırır. URL deseni için, sorgu dizesi alt ifadesi, dış bir tekrarlamanın içine yakalayıcı bir tekrarlama yerleştirir. JDK eşleştiricisi, her sorgu belirteci başına bir kez özyineleme yapar; bu nedenle çok sayıda & ile ayrılmış belirteç içeren yaklaşık 4 KB'lık bir girdi, iş parçacığı yığınını tüketir ve find() fonksiyonundan java.lang.StackOverflowError yayılmasına neden olarak çağıran iş parçacığını sonlandırır. Daha küçük bir yığınla oluşturulmuş bir iş parçacığında (örneğin, sunucu çalışan havuzları için tipik olan -Xss512k), yaklaşık 1 KB yeterlidir. Her iki durumda da analiz için metin sağlayabilen bir saldırgan, tek bir isteği saniyelerce veya dakikalarca kilitlenen CPU kullanımına ya da ani bir iş parçacığı ölümüne dönüştürerek gömülü uygulamaya hizmet reddi (DoS) sağlayabilir. Uygulamanın iki yerleşik bulucudan birini seçmiş olması dışında herhangi bir kimlik doğrulama, özel yapılandırma veya model dosyası gerekmez. Bu sorun şu Apache OpenNLP sürümlerini etkilemektedir: 2.0.0'dan 2.5.11'e kadar; 3.0.0-M1'den 3.0.0-M5'e kadar. Kullanıcıların sorunu gideren 2.5.12 sürümüne veya 3.0.0 kilometre taşı hattını takip eden kullanıcılar için 3.0.0-M6 sürümüne yükseltme yapmaları önerilir.
Nasıl düzeltilir
- apache opennlp2.5.12 ya da sonraki bir sürüm
Etkilenen ürünler
| Ürün | Etkilenen sürümler | Düzeltildiği sürüm |
|---|---|---|
| apache opennlp | 2.0.0 ≤ v < 2.5.12, 3.0.0 | 2.5.12 |
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.
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.