From d655586c7426598b87dea471236082b2ade027ff Mon Sep 17 00:00:00 2001 From: hugy Date: Fri, 29 May 2026 07:12:24 +0000 Subject: [PATCH] =?UTF-8?q?=D0=A3=D0=B4=D0=B0=D0=BB=D0=B8=D1=82=D1=8C=20VU?= =?UTF-8?q?LN-HIGH-rosetta-sdu-2026-0000?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- VULN-HIGH-rosetta-sdu-2026-0000 | 19 ------------------- 1 file changed, 19 deletions(-) delete mode 100644 VULN-HIGH-rosetta-sdu-2026-0000 diff --git a/VULN-HIGH-rosetta-sdu-2026-0000 b/VULN-HIGH-rosetta-sdu-2026-0000 deleted file mode 100644 index 3e8bc2d..0000000 --- a/VULN-HIGH-rosetta-sdu-2026-0000 +++ /dev/null @@ -1,19 +0,0 @@ -https://git.rosetta.im/Rosetta/rosetta-sdu/src/branch/main/README.md - - -Path Traversal (выход за пределы папки kernel) - -KERNEL_DIR.resolve(platform).resolve(arch) без фильтрации .. -GET через параметры platform и arch в строке запроса - - -в классе UpdatesResource есть метод findLatestKernel. Он берёт параметры platform и arch прямо из запроса и делает так: ----------------------------------------------------------------------------------------------------------------------------- -java -java.nio.file.Path targetDir = KERNEL_DIR.resolve(platform).resolve(arch); -KERNEL_DIR – это просто папка kernel. Дальше сервер смотрит есть ли там папка с таким путём, и если есть ищет в ней файлы. Но он не чистит строки от ../. Поэтому если передать arch=../../etc, то resolve склеит всё в путь kernel/../../etc, который после нормализации превратится в /etc. - -Останется только скачать эту ссылку ..... - - -