Yol gezinme (ARCH4103)
Anahtar java.security.path-traversal · Önem error · Kategori security · CWE CWE-22
Dosya yolunu güvenilmeyen girdiden normalleştirme ve sınırlandırma yapmadan oluşturmak, ../ dizileriyle hedef dizinin dışındaki dosyalara erişime olanak tanır.
Hatalı
Bölüm başlığı “Hatalı”String name = request.getParameter("file");File f = new File("/var/data/" + name);return Files.readAllBytes(f.toPath());Path base = Paths.get("/var/data").toRealPath();Path target = base.resolve(name).normalize();if (!target.startsWith(base)) throw new SecurityException();return Files.readAllBytes(target);Düzeltme
Bölüm başlığı “Düzeltme”Yolu normalleştirin ve çözümlenmiş hedefin temel dizin içinde kaldığını startsWith ile doğrulayın.