CVE-2026-75758

Orta

Açıklama

Elixir standart kütüphanesindeki Kontrolsüz Özyineleme (Uncontrolled Recursion) zafiyeti, inspect/1, List.to_string/1 veya List.to_charlist/1 fonksiyonlarına iletilen bir listeyi kontrol edebilen bir saldırganın, bir BEAM düğümünün belleğini tüketmesine olanak tanır. lib/elixir/lib/inspect.ex dosyasındaki Inspect.List'in charlist dalı, bir listeyi List.ascii_printable?/2 kullanarak charlist olarak sınıflandırır; bu işlem yalnızca ilk :printable_limit (varsayılan olarak 4096) öğeyi inceler ve ardından tüm terim üzerinde IO.chardata_to_string/1 fonksiyonunu çağırır. Yazdırılabilir ön eki bu sınırı aşan ancak daha sonra kod noktası olmayan (bir atom, aralık dışı bir tam sayı veya uygun olmayan bir kuyruk) bir öğe içeren bir liste, bu nedenle yanlış sınıflandırılır ve dönüştürme işlemi ArgumentError hatası oluşturur. Bu dönüştürme, kurtarma (rescue) bloğu mesajını inspect(list) ifadesini ekleyerek oluşturan List.to_string/1 içinde çalışır; bu durum aynı dala yeniden girilmesine ve hatanın tekrar oluşmasına neden olur. İç içe geçmiş inceleme (inspection) işlemi raise fonksiyonuna bir argüman olduğu için özyineleme kuyruk konumunda değildir ve her seviye korunur: süreç yığını monoton olarak büyürken her döngü listeyi yeniden tarar; ta ki süreç max_heap_size tarafından sonlandırılana veya varsayılan olarak düğümün belleği tükenene kadar. List.to_charlist/1 de aynı kurtarma yapısına sahiptir. Yazdırılabilir sınırın altında, içteki inspect/1 geçersiz öğeyi sayacı dahilinde görür ve listeyi normal köşeli parantez biçiminde işler, böylece tek bir ArgumentError oluşturulur ve özyineleme meydana gelmez. Bu sorun şu elixir sürümlerini etkilemektedir: 1.15.0-rc.0'dan 1.18.5 öncesine kadar, 1.19.0-rc.0'dan 1.19.6 öncesine kadar ve 1.20.0-rc.0'dan 1.20.4 öncesine kadar.

ÖnemOrta
CVSS5.9
İstismar olasılığı—
ÜrünElixir
Yayın28 Ağu 2026
İlk görülme28 Ağu 2026
Zayıflık türüCWE-674CWE-674

Nasıl düzeltilir

Etkilenen ürünler

ÜrünEtkilenen sürümlerDüzeltildiği sürüm
elixir-lang elixir1.15.0-rc.0 ≤ v < 1.18.5, 1.19.0-rc.0 ≤ v < 1.19.6, 1.20.0-rc.0 ≤ v < 1.20.4, 9718f2b90ce086ff8614d5782f4ec528495c98dd1.18.5, 1.19.6, 1.20.4

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.