İçeriğe geç

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.

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

eval/Function kullanmayın; güvenli bir parser veya açık bir izin listesi ile değerleri yorumlayın.