Dinamik kod yürütme (ARCH3131)
Anahtar typescript.security.dynamic-code-execution · Önem critical · Kategori security · CWE CWE-95
Çalışma zamanında string’leri eval veya Function ile kod olarak çalıştırmak, kullanıcı girdisi karıştığında uzaktan kod yürütmeye (RCE) yol açar. Dinamik değerlendirme yerine veri odaklı bir yaklaşım kullanın.
Hatalı
Bölüm başlığı “Hatalı”app.get("/calc", (req, res) => { const result = eval(req.query.expr as string); res.json({ result });});import { evaluate } from "mathjs";
app.get("/calc", (req, res) => { const result = evaluate(req.query.expr as string); res.json({ result });});Düzeltme
Bölüm başlığı “Düzeltme”eval/Function kullanmayın; güvenli bir parser veya açık bir izin listesi ile değerleri yorumlayın.