The OpenNET Project / Index page

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

Уязвимость в KDE Ark, позволяющая перезаписать файлы при открытии архива

31.07.2020 13:47

В развиваемом проектом KDE менеджере архивов Ark выявлена уязвимость (CVE-2020-16116), позволяющая при открытии в приложении специально оформленного архива перезаписать файлы вне каталога, указанного для раскрытия архива. Проблема в том числе проявляется при раскрытии архивов в файловом менеджере Dolphin (пункт Extract в контекстном меню), который использует функциональность Ark для работы с архивами. Уязвимость напоминает давно известную проблему Zip Slip.

Эксплуатация уязвимости сводится к добавлению в архив путей, содержащих символы "../", при обработке которых Ark может выйти за пределы базового каталога. Например, при помощи указанной уязвимость можно перезаписать сценарий .bashrc или разместить скрипт в каталог ~/.config/autostart для организации запуска своего кода с привилегиями текущего пользователя. Проверки для вывода предупреждения при наличии проблемных архивов добавлены в выпуске Ark 20.08.0. Для исправления также доступен патч.

  1. Главная ссылка к новости (https://bugs.launchpad.net/ubu...)
  2. OpenNews: Уязвимость Zip Slip, затрагивающая библиотеки для распаковки архивов
  3. OpenNews: Вышел релиз gzip 1.4 с исправлением опасной уязвимости
  4. OpenNews: Уязвимость в GNU tar, позволяющая перезаписать сторонние файлы
  5. OpenNews: Уязвимость в KDE, позволяющая выполнить код при подключении внешнего носителя
  6. OpenNews: Уязвимость в KDE, позволяющая выполнить код при просмотре списка файлов
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/53467-kde
Ключевые слова: kde, ark, zip
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (51) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (1), 13:51, 31/07/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Ну, справедливости ради, на любом языке можно написать уязвимый код.
     
     
  • 2.4, пох. (?), 14:25, 31/07/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Ну, справедливости ради, на любом языке можно написать уязвимый код.

    На брейнфаке конечно можно, но никто не сумеет ту уязвимость найти. Да и искать не станет ;-)


     
     
  • 3.6, Аноним (6), 14:51, 31/07/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Ну правильно. На расте никто уязвимости и не ищеет, потому что мало кто на нём пишет.
     
     
  • 4.37, пох. (?), 20:05, 31/07/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Нет кода - нет уязвимостей!

     
  • 4.48, Gentoofan (?), 23:20, 31/07/2020 [^] [^^] [^^^] [ответить]  
  • +/
    А как же https://github.com/RustSec/cargo-audit и вся группа RustSec?
     
     
  • 5.50, Аноним (-), 23:45, 31/07/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Они сделали опечатку в слове Cargo-Cult. Не знаю, считается это за уязвимость или нет.
     
  • 2.42, Аноним (-), 20:59, 31/07/2020 [^] [^^] [^^^] [ответить]  
  • +/
    > Ну, справедливости ради, на любом языке можно написать уязвимый код.

    С приколами типа "../" примерно это как раз и получается, так, по жизни. Этот ляп делают на самых разных ЯП, это вообще операционка рюхает так что яп там вторичен :)

     
     
  • 3.60, анонимуслинус (?), 16:24, 01/08/2020 [^] [^^] [^^^] [ответить]  
  • +/
    просто все меньше народа сталкивается с низкоуровневым типом работы. короче говоря в терминале сидят все реже. в cd такая команда тоже легко работает. вот только это не уязвимость. ну а арк имеет возможность записи в каталог, конечно можно посчитать за уязвимость. у меня другой вопрос. кто дал скриптам возможность выполнения? насколько помню изначально ни один скрипт или программа не имеет прав выполнения. кто успел превратить линя в винду?))) даже с записью скрипта в автостарт ничего не должно работать.
     

  • 1.3, Аноним (3), 14:18, 31/07/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +7 +/
    никогда не было и вот опять проблема с архивами и перезаписью файлов
     
     
  • 2.5, iPony129412 (?), 14:40, 31/07/2020 [^] [^^] [^^^] [ответить]  
  • –21 +/
    Ну тк KDE
     
     
  • 3.27, ann (??), 17:26, 31/07/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Ты ещё не самовыпилился?
     
  • 3.28, Аноним (28), 17:39, 31/07/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Да такое возмозно в любом архиваторе упустить из виду. И независимо от ЯП также.
     
     
  • 4.44, Аноним (-), 21:08, 31/07/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Да и не только в архиваторе. А всякая скриптота например еще прикольно реагирует на 0x0a в именах файлов - редкий скриптер помнит что в имени допустимо ВСЕ кроме null (0x0) и "/" :)
     
     
  • 5.46, Аноним (46), 21:52, 31/07/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Там вроде только гнутые тулзы умеют разделять строки \0, и не так давно научились всего лет 15 назад. Все остальные будут работать скорее всего с ошибками (там вроде можно наворотить каких-то костылей с IFS в том же баше, но мало кто это делает и страдает читабельность). Не только скриптота, вообще многий софт имеет эту проблему.
     
     
  • 6.51, Аноним (-), 23:48, 31/07/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Ну как, сишный софт сам по себе не имеет фундаментальных причин давиться при работе с файлами с черти чем в именах: в строках специальное значение имеет только 0x0. А / имеет специальное значение вообще уже дальше, для кернела. Поэтому как максимум может ну там отображение переколбасить, или чего еще, но сискол все же получит имя файла нормально и это будет прожевано.

    Исключения разве что какие-то умники читающие списки файлов из текстокиков, чтоли, но эти заведомо нарываются и им грех жаловаться.

     
  • 3.43, Аноним (-), 21:04, 31/07/2020 [^] [^^] [^^^] [ответить]  
  • +/
    > Ну тк KDE

    А как KDE связан с этим багом? Это крайне баянный баг, всех времен и народов. На него например вебсерваки отродясь наступали. И до сих пор попадается какой-нибудь клоун иногда у которого http://my.domain/proper/path/../../../../../../etc/passwd канает :)

     
  • 2.15, Аноним (46), 16:04, 31/07/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Там есть очевидный баг с перезаписью файлов извлекаемых из архива: при возникновении конфликтов показывает некорректные данные о файле, уже имеющемся на диске. Его не исправляют больше 10 лет. С этим можно даже научиться жить: не извлекать файлы там, где они уже есть на диске. Ну или не сравнивать их, просто зачем тогда эти перегруженные диалоги вообще нужны там.
     

  • 1.7, Аноним (7), 15:09, 31/07/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    Ничего удивительно, они поди до сих пор баг с исчерпанием места на диске не исправили. Достаточно было создать архив с циклической структурой на симлинках.
     
     
  • 2.8, Аноним (6), 15:20, 31/07/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Так вы так любой архиватор положите, к тому же Ark исопользует libarchive, если не ошибаюсь. Так проблема ли в самом Ark?
     
     
  • 3.10, Аноним (10), 15:35, 31/07/2020 [^] [^^] [^^^] [ответить]  
  • +/
    > Ark исопользует libarchive

    Серьёзно? Это же дуршлаг давно известный.

     
     
  • 4.18, Аноним (6), 16:31, 31/07/2020 [^] [^^] [^^^] [ответить]  
  • –5 +/
    Покажите мне архиватор без дыр, я подожду.
     
     
  • 5.20, Аноним (46), 16:53, 31/07/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    https://www.cvedetails.com/vulnerability-list/vendor_id-72/product_id-1394/GNU

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

     
  • 5.59, Аноним (10), 12:16, 01/08/2020 [^] [^^] [^^^] [ответить]  
  • +/
    > Покажите мне архиватор без дыр, я подожду.

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

     
  • 2.9, Аноним (9), 15:23, 31/07/2020 [^] [^^] [^^^] [ответить]  
  • +3 +/
    - Программирование сегодня — это гонка разработчиков программ, стремящихся писать программы больше и с лучшей идиотоустойчивостью, и вселенной, которая пытается создавать больших и лучших идиотов. Пока вселенная побеждает. (с) Рик Кук
     

  • 1.11, Аноним (11), 15:37, 31/07/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • –6 +/
    Для разнообразия сегодня унас плюсишная дырень?
     
     
  • 2.12, заминированный тапок (ok), 15:44, 31/07/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    никто не сказал, что дырень именно в плюсах, а в алгоритме чтения путей.
    посмотри хотя бы на те три строчки кода в патче.
     
  • 2.29, Аноним (28), 17:41, 31/07/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    В данном случае, Rust бы не спас. Это не про безопасную работу с памятью.
     

  • 1.13, mos87 (ok), 15:49, 31/07/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • –17 +/
    для кедарастов важнее всего
    0) блевотный внешний вид, традиционно разрабатываемый особым родом спецов у которых генетическая неспособность сделать симпатишно передаётся из поколения в поколение
    1) рюшечки
    2) фишечки
    3) переписывание с одного фреймворка на другой не реже раза в квартал

    а сабж это какая-то фигня, #NOTABUG

     
     
  • 2.14, заминированный тапок (ok), 15:54, 31/07/2020 [^] [^^] [^^^] [ответить]  
  • +6 +/
    > для кедарастов важнее всего
    > 0) блевотный внешний вид, традиционно разрабатываемый особым родом спецов у которых генетическая
    > неспособность сделать симпатишно передаётся из поколения в поколение
    > 1) рюшечки
    > 2) фишечки
    > 3) переписывание с одного фреймворка на другой не реже раза в квартал
    > а сабж это какая-то фигня, #NOTABUG

    чувственная и волнующая иповедь/монолог отбитого хейтера-тролля
    аминь

     
  • 2.17, Аноним (17), 16:20, 31/07/2020 [^] [^^] [^^^] [ответить]  
  • –6 +/
    Для линукса не существует нормальных гуёв. Жрём что дают.
     
     
  • 3.19, Аноним (6), 16:32, 31/07/2020 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Так валите на мак или венду. В линуксе всё настраивается хотя-бы и тем дофига, а в маргинальных системах даже тему сменить нельзя, не говоря уж о тонкой настройке или вообще смены WM\DE.
     
     
  • 4.21, microsoft (?), 17:04, 31/07/2020 [^] [^^] [^^^] [ответить]  
  • –6 +/
    Ниче ты не можеш все тоже самое и в лялексах
     
  • 4.23, Аноним (23), 17:10, 31/07/2020 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Настраивай не настраивай ничего не работает. Место такое
     
     
  • 5.24, ann (??), 17:22, 31/07/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    У всех работает у одного тебя бедного не работает. Голова такая.
     
     
  • 6.31, Аноним (31), 18:30, 31/07/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Еще два терпениума этому господину (или госпоже)
     
  • 5.52, Led (ok), 00:12, 01/08/2020 [^] [^^] [^^^] [ответить]  
  • +2 +/
    >Место такое

    Ты его там разрабатывай, смазывай...

     
  • 4.38, Аноним (-), 20:10, 31/07/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Так и настраиваю. А у вас стадия отрицания всё никак не пройдет.
     
  • 4.40, Аноним (40), 20:38, 31/07/2020 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Что и делаем. А в ляликс и прочие юниксы смотрим только через putty в ssh.
     
  • 2.26, ann (??), 17:24, 31/07/2020 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Блевотный вид это венда, гамбургеры, и гномовский CSD. Или как там это извращение которое с меню сделали.
     

  • 1.16, Аноним (16), 16:16, 31/07/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Оо этот давно знакомый Арк.
     
  • 1.22, Аноним (23), 17:06, 31/07/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Это фича
     
  • 1.39, Укуренный (?), 20:37, 31/07/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Все новое это хорошо забытое старое
     
  • 1.45, Аноним (45), 21:16, 31/07/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Та же ошибка что и в winrar. Даже ошибку скопировали.
     
     
  • 2.55, Аноним (55), 04:40, 01/08/2020 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Кедокуты, сэр.
     

  • 1.47, Аноним (47), 22:01, 31/07/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > позволяющая при открытии

    Зачем распаковку архива называть "открытием"?

     
     
  • 2.58, Анонимленьлогиниться (?), 11:10, 01/08/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Так открытие это не распаковка?? Это же просто листинг и вывод его в гуй.
     

  • 1.49, Аноним (55), 23:38, 31/07/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • –3 +/
    кде, кутя... а что ещё вы ожидали от них?!
     
  • 1.56, Аноним (56), 08:02, 01/08/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Типичный патч, которые всякие идиоты, котом лишь бы что-то закоммитить но не разобраться в проблеме.
     
  • 1.57, Анонимище (?), 10:34, 01/08/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    В KDE neon еще вчера патч прилетел
     
  • 1.61, Аноним (61), 16:18, 02/08/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > Уязвимость напоминает давно известную проблему Zip Slip

    И уязвимость с файлами .directory
    Что-то много в кедах подобных дыр. Наверное, потому что, чем сложнее проект, тем больше ошибок.

     
  • 1.62, Ilya Indigo (ok), 19:39, 02/08/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Самое интересное, в CVE не указана версия с которой проявляется эта уязвимость и можно подумать, что ей подвержены ВСЕ версии ark.
    По вот версия 15.04.3 которую я использую в KDE4 с такой же версией dolphin проблеме НЕ подвержена!
    Притом в том месте кода, в которую патч добавляет проверку в 15.04.3 этой проверки тоже нет, но она там и не нужна.
    Видимо, в 20-ке что-то намутили и откуда-то её убрали.
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



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

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