The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



"Уязвимости в tar-fs и 7-Zip, позволяющие записать файлы за пределы базового каталога"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Изначальное сообщение [ Отслеживать ]

"Уязвимости в tar-fs и 7-Zip, позволяющие записать файлы за пределы базового каталога"  +/
Сообщение от opennews (?), 18-Авг-25, 10:52 
В NPM-пакете tar-fs выявлена...

Подробнее: https://www.opennet.me/opennews/art.shtml?num=63740

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения [Сортировка по ответам | RSS]

2. Сообщение от Аноним (2), 18-Авг-25, 11:07   +/
А это нормально, когда уязвимость в  NPM, а в качестве примера код на python ?
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #10, #13, #31

3. Сообщение от Аноним (3), 18-Авг-25, 11:09   +12 +/
Нужен язык для безопасной работы с символическими ссылками.
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #14, #27

4. Сообщение от Аноним (4), 18-Авг-25, 11:18   –5 +/
Почему программисты тупо не умеют работать с ../../ ? Что сложного, а?
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #5, #6, #39

5. Сообщение от Аноним (35), 18-Авг-25, 11:18   +4 +/
Ты тоже не умеешь
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #4

6. Сообщение от Аноним (6), 18-Авг-25, 11:20   –3 +/
Важное уточнение - программисты яваскрипт.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #4 Ответы: #23

9. Сообщение от Аноним (9), 18-Авг-25, 11:41   –1 +/
Интернет система , ой у нас уязвимость мы вышли за пределы интернета. Собираем на мак с помощью linux /.../.../.../ , ой а чё это мы собираем linux библиотеки на мак , опять вышли за пределы эипла. Вот на что похожи эти новости
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #15

10. Сообщение от Аноним (10), 18-Авг-25, 11:45   +3 +/
код, подготавливающий проблемный файл, может быть на любом языке
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #2

12. Сообщение от Аноним (13), 18-Авг-25, 12:13   +/
Господа, так может следует сначала просто определиться, разрешено ли вообще архиватору распаковывать файлы куда угодно, кроме того каталога в котором лежит файл (естественно при наличии соотвествующих прав доступа в файловой системе). А именно это я прочитал в новости - "в любые части ФС, не ограниченные каталогом, в который осуществляется распаковка"

Например достопочтенный гуевый винрар (как и 7zip), позволяют пользователю вручную указать директорию для распаковки (пока не учитываем "специально подготовленные архивы" с кривыми путями) - вот это хорошо или плохо?
Может вопрос-то просто в корявой обработке путей архиваторами?

Ответить | Правка | Наверх | Cообщить модератору
Ответы: #16, #34, #40, #42

13. Сообщение от Аноним (13), 18-Авг-25, 12:15   –5 +/
Эт че, в NPM опять что то корявое выложили?
Они там концептуально не обучаемые походу, эти NPM-щики.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #2 Ответы: #28

14. Сообщение от Аноним (13), 18-Авг-25, 12:16   +/
как насчет RUST?
там у них есть unsafe!
есть что возразить?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #3 Ответы: #17, #22, #32

15. Сообщение от Аноним (13), 18-Авг-25, 12:19   +2 +/
Есть хороший лайфхак по генерированию "новостей" - смотришь в NPM репах с чем там они на этой неделе обосрались, и у тебя куча контента.
Если не прокатило - вспоминаем, что в NPM теперь можно подключать сторонние репы, и далее переходим к пункту 1.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #9 Ответы: #38

16. Сообщение от Аноним (16), 18-Авг-25, 12:29   +/
Я могу положить внутрь архива символическую ссылку с путём "nop" и содержимым ".", а следом за ней ещё одну символическую ссылку "yousuckatparsingsymlinks" с содержимым "nop/nop/nop/..". Всё, теперь следующий файл кладём с путём "yousuckatparsingsymlinks/outoffolder", и при распаковке он окажется снаружи папки, куда ты распаковывал архив. Проблема элементарная - забыли в режиме ограничения пути распаковки (по дефолту tar позволяет любые пути в нём записать, что удобно для тех же обновлений системы) разыменовывать содержимое симлинков и проверять уже реальный путь, куда они будут указывать. Тут даже парсер переписывать не надо - только readlink делать при встрече любой симлинки.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #12 Ответы: #19, #46

17. Сообщение от Аноним (17), 18-Авг-25, 12:33   +1 +/
Так а кто там проверяет символические ссылки, чекер боровов проверяет?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #14 Ответы: #45

19. Сообщение от Аноним (16), 18-Авг-25, 12:38   +/
Я так прикинул, в симлинках же можно любой путь указать, в том числе абсолютный "/tmp" или "/etc". Если не проверяется реальный путь с подставлением содержимого симлинки, то наверное не проверяется и то, что в симлинке лежит абсолютное перенаправление, которым можно сразу попасть в нужную часть FS.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #16

21. Сообщение от Анон1110м (?), 18-Авг-25, 12:49   +/
Вот почему я предпочитаю ACE.
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #24, #29, #33, #36

22. Сообщение от Аноним (22), 18-Авг-25, 12:55   +/
Надо запрос разработчикам запилить. Что бы добавили в язык безопасность работы с символическими ссылками.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #14

23. Сообщение от Аноним (23), 18-Авг-25, 13:01   +1 +/
Не знал, что 7-zip написан на яваскрипт.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #6

24. Сообщение от Аноним (-), 18-Авг-25, 13:09   +1 +/
Что такое ACE?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #21

27. Сообщение от Аноним (27), 18-Авг-25, 13:22   +/
chroot
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #3

28. Сообщение от Аноним (28), 18-Авг-25, 13:48   +/
Косяки с разбором путей и симлинков во всех языках встречаются, особенно часто в либах на Cи, NPM тут не причем. Кстати, прям в этой же новости - в 7zip тоже npm виноват?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #13

29. Сообщение от Аноним (29), 18-Авг-25, 13:48   +1 +/
тетя Ася плохого не посоветует
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #21

31. Сообщение от Аноним (31), 18-Авг-25, 14:07   +1 +/
> уязвимость в  NPM

надо было NPM на безопасном языке писать.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #2

32. Сообщение от Аноним (31), 18-Авг-25, 14:08   +/
в расте ссылки проверятся на этапе компиляции с zero-cost ценой.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #14 Ответы: #35

33. Сообщение от dannyD (?), 18-Авг-25, 14:21   +/
>>Вот почему я предпочитаю ACE.

у себя дома можно предпочитать все что хочешь - хоть хомячков, хоть няшных котигов.

но и ногда из лесу приходится брать диких животных.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #21

34. Сообщение от ptr (ok), 18-Авг-25, 14:55   +/
chroot
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #12

35. Сообщение от Аноним (35), 18-Авг-25, 14:58   +/
Ну дык... Плюсовый llvm же
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #32

36. Сообщение от Perlovka (ok), 18-Авг-25, 15:03   +2 +/
Настоящие гигачады используют ARJ
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #21 Ответы: #37

37. Сообщение от Аноним (28), 18-Авг-25, 15:16   +1 +/
А что не ARC или LHA?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #36

38. Сообщение от Аноним (22), 18-Авг-25, 16:05   +/
Или повесить одну новость: "В NPM в очередной раз обосрались" и не обновлять. Всегда актуально будет.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #15

39. Сообщение от Аноним (39), 18-Авг-25, 16:05   +1 +/
в смысле не умеют, там же все корректно обрабатывается и файлик кладется ровно по тому пути по которому указали, в чем проблема, я никак не пойму :)
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #4

40. Сообщение от Аноним (39), 18-Авг-25, 16:08   +/
> Может вопрос-то просто в корявой обработке путей архиваторами?

почему в корявой? передал путь в функцию file_move (условно из tmp в указанный путь) и все, какие притензии к архиватору?

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #12

41. Сообщение от Аноним (41), 18-Авг-25, 16:45   +/
Так бы написали прямо - выход за границы буфера)
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #44

42. Сообщение от Аноним (42), 18-Авг-25, 16:48   +/
> разрешено ли вообще архиватору распаковывать файлы куда угодно, кроме того каталога в котором лежит файл

nc 192.0.2.1 8080 | 7z …

В каком каталоге лежит распаковываемый файл?

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #12

43. Сообщение от Аноним (44), 18-Авг-25, 16:52   +/
Р.А.С.Т.
Ответить | Правка | Наверх | Cообщить модератору

44. Сообщение от Аноним (44), 18-Авг-25, 16:53   +/
Это не он, но переписать на раст всё же придется.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #41

45. Сообщение от Анонимъemail (?), 18-Авг-25, 17:41   +/
В std::fs есть штатный нормализатор путей, ресольвящий ссылки.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #17

46. Сообщение от Смузихлеб забывший пароль (?), 18-Авг-25, 17:42   +/
> по дефолту tar позволяет любые пути в нём записать,
> что удобно для тех же обновлений системы

Какая-то очень странная фича для штуковины, основная суть которой - гору разрозненного барахла объединять в один файл для более шустрого и качественного дальнейшего сжатия

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #16


Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2025 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру