CVE-2025-62496

Yüksek

Açıklama

QuickJS motorunun BigInt dize ayrıştırma mantığında (js_bigint_from_string), aşırı sayıda basamağa sahip bir dizeden BigInt oluşturulmaya çalışıldığında bir güvenlik açığı bulunmaktadır. Fonksiyon, BigInt'i depolamak için gereken bit sayısını (n_bits) şu formülü kullanarak hesaplar: $$\text{n\_bits} = (\text{n\_digits} \times 27 + 7) / 8 \quad (\text{radix 10 için})$$ * Büyük giriş dizeleri için (örneğin taban 10 için 79,536,432 veya daha fazla basamak), ara hesaplama olan $(\text{n\_digits} \times 27 + 7)$, standart imzalı 32-bit tamsayının maksimum değerini aşarak bir Integer Overflow ile sonuçlanır. * Bu taşma nedeniyle ortaya çıkan n_bits değeri beklenmedik şekilde küçük olur ve hatta negatif bir değere dönüşür. * Hatalı n_bits değeri daha sonra BigInt nesnesi için gereken bellek "limb" sayısı olan n_limbs'in hesaplanmasında kullanılır. n_bits çok küçük olduğu için, hesaplanan n_limbs değeri de önemli ölçüde düşük tahmin edilir. * Fonksiyon, bu düşük tahmin edilen n_limbs değerini kullanarak bir JSBigInt nesnesi tahsis eder. * Fonksiyon daha sonra gerçek BigInt verilerini tahsis edilen nesneye yazmaya çalıştığında, küçük tampon boyutu hızla aşılır ve veriler tahsis edilen r->tab dizisinin sonunun ötesine yazıldığı için bir Heap Out-of-Bounds Write meydana gelir.

ÖnemYüksek
CVSS8.8
İstismar olasılığı—
ÜrünQuickjs
Yayın16 Eki 2025
İlk görülme16 Eki 2025
Zayıflık türüCWE-190Tamsayı taşması

Nasıl düzeltilir

Güncelleyin
  • quickjs_project quickjs2025-09-13 ya da sonraki bir sürüm

Etkilenen ürünler

ÜrünEtkilenen sürümlerDüzeltildiği sürüm
quickjs_project quickjsv < 2025-09-132025-09-13

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-2025-62496 · Quickjs · Dark Radar