İçeriğe atla
Noroxi

CWE-400 · 4.079 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.

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.

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));}

Kodunuzda bu kalıp var mı?

Kaynak kod analizi kapsamında bu sınıfı özellikle arıyoruz. Bulgular satır numarasıyla teslim edilir.

Bu sınıftaki CVE’ler

4.086 kayıt

Tüm zafiyet sınıfları