İçeriğe geç

Yol geçişi (ARCH9103)

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

İstek ya da kullanıcı girdisinden kurulan dosya yollarını işaretler. Yalnızca uygulamanın kendi ürettiği değerleri birleştiren bir şablon güvenilmez değildir ve path ya da url adlı bir parametre girdi kanıtı sayılmaz.

let file = URL(fileURLWithPath: "\(uploadDir)/\(request.name)")
let file = uploadDir.appendingPathComponent(name).standardizedFileURL
guard file.path.hasPrefix(uploadDir.standardizedFileURL.path) else { throw Forbidden() }

URL’yi standartlaştırın ve hedef dizinin altında kaldığını doğrulayın.