diff --git a/rosetta-sdu-2026-0000/VULN-HIGH-rosetta-sdu-2026-0000 b/rosetta-sdu-2026-0000/VULN-HIGH-rosetta-sdu-2026-0000 index 008a6f0..514ec2a 100644 --- a/rosetta-sdu-2026-0000/VULN-HIGH-rosetta-sdu-2026-0000 +++ b/rosetta-sdu-2026-0000/VULN-HIGH-rosetta-sdu-2026-0000 @@ -14,3 +14,10 @@ java.nio.file.Path targetDir = KERNEL_DIR.resolve(platform).resolve(arch); KERNEL_DIR – это просто папка kernel. Дальше сервер смотрит есть ли там папка с таким путём, и если есть ищет в ней файлы. Но он не чистит строки от ../. Поэтому если передать arch=../../etc, то resolve склеит всё в путь kernel/../../etc, который после нормализации превратится в /etc. Останется только скачать эту ссылку ..... + +Что проверяется: +fileName().startsWith(".") — пропускает файлы типа .hidden, .gitignore и т.п. + +Что НЕ проверяется: +arch может быть "../../../etc" — и тогда итоговый путь станет: +Нет нормализации пути (Path.normalize(), getCanonicalPath() и т.п.)