İçeriğe atla
Noroxi

CWE-400 · 3.675 kayıt

Kontrolsüz kaynak tüketimi

Neden olur?

İç içe yapıları çözümleyen kod derinlik ya da boyut sınırı koymuyor. Küçük bir girdi orantısız işlem yüküne dönüşebilir.

Hatalı ve düzeltilmiş kod

Temsili ders örneği. Vurgulu satırlar hatanın ve düzeltmenin yeridir.

Hatalı

ts
function expand(node) {  return node.children.map(expand);}

Düzeltilmiş

ts
const MAX_DEPTH = 32;function expand(node, depth = 0) {  if (depth > MAX_DEPTH) throw new Error("çok derin");  return node.children.map((c) => expand(c, depth + 1));}

Nasıl önlenir?

  1. 01Çözümleyicilerde derinlik, uzunluk ve süre sınırı belirleyin.
  2. 02Kullanıcı girdisini kayda yazmadan önce kısaltın.
  3. 03İşlemci ve bellek kullanımına uyarı eşiği koyun.

Bu sınıftaki CVE’ler

3.677 kayıt

Tüm zafiyet sınıfları