İçeriğe geç

Yol geçişi (ARCH8103)

Anahtar kotlin.security.path-traversal · Önem error · Kategori security · CWE CWE-22

İstek, intent ya da parametre verisinden normalleştirilmeden kurulan File / Paths.get / FileInputStream kullanımını işaretler. Yalnızca uygulamanın kendi ürettiği değerleri (saat, UUID, sabit) birleştiren bir şablon güvenilmez değildir.

val file = File(uploadDir, request.getParameter("name"))
val file = File(uploadDir, name).canonicalFile
require(file.startsWith(uploadDir.canonicalFile))

Yolu kanonikleştirin ve hedef dizinin altında kaldığını doğrulayın.