Добавить rosetta-sdu-2026-0000/VULN-HIGH-rosetta-sdu-2026-0000

This commit is contained in:
2026-05-29 07:12:10 +00:00
parent 055b27989c
commit b066e25490

View File

@@ -0,0 +1,16 @@
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.
Останется только скачать эту ссылку .....