The OpenNET Project / Index page

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



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

"Уязвимость в пакетном менеджере APK, позволяющая удалённо вы..."  +/
Сообщение от opennews (??), 14-Сен-18, 20:38 
Исследователь безопасности Max Justicz, известный выявлением уязвимостей в репозиториях  Packagist, NPM и RubyGems, опубликовал (https://justi.cz/security/2018/09/13/alpine-apk-rce.html) информацию о новой критической уязвимости в пакетном менеджере APK, применяемом в дистрибутиве Alpine Linux (используется по умолчанию для контейнеров Docker).  Уязвимость несколько дней назад уже устранена (https://git.alpinelinux.org/cgit/apk-tools/commit/?id=6484ed...)  в APK, а проект Alpine Linux выпустил (https://alpinelinux.org/posts/Alpine-3.8.1-released.html) обновление 3.8.1, в который включено данное исправление.


Атакующие, имеющие возможность совершить MITM-атаку или изменить пакеты на зеркале, могли подменить загружаемый пользователем apk-пакет и инициировать выполнение своего кода в системе c правами root. В Alpine Linux при доступе к штатным репозиториям по умолчанию не применяется TLS-шифрование канала связи, а используется только верификация целостности и источника пакета по цифровой подписи. К сожалению подобной проверки оказалось недостаточно, так как приводящая к уязвимости ошибка проявляется на стадии распаковки пакета, которая выполняется  до проверки цифровой подписи.


Суть проблемы в том, что через манипуляцию с путями внутри пакета атакующие могут добиться распаковки непроверенного файла в системный каталог. Пакет apk представляет собой архив tar, при распаковке которого файлы поочерёдно извлекаются в корень с добавлением к имени окончания ".apk-new". В случае несовпадения проверочного хэша  распакованные файлы удаляются. Проблема проявляется из-за ошибки при обработке символических ссылок.


Атакующий может создать в пакете ссылку с именем "link", указывающую, допустим, на файл "/etc/apk/commit_hooks.d/x". Данная ссылка будет распакована с временным именем "link.apk-new", но продолжит указывать на "/etc/apk/commit_hooks.d/x". Кроме символической ссылки в пакет  можно поместить обычный файл тем же именем "link". Пакетный менеджер   попытается сохранить его как "link.apk-new", но с данным именем уже присутствует символическая ссылка, что приведёт к созданию адресуемого через ссылку файла "/etc/apk/commit_hooks.d/x". Когда apk обнаружит несоответствие пакета проверочному хэшу,  он удалит link.apk-new, но файл "/etc/apk/commit_hooks.d/x" останется в системе.


В итоге, злоумышленник может переписать любой файл, в том числе разместить скрипт в каталог /etc/apk/commit_hooks.d/, скрипты из которого вызываются перед завершением работы apk, что приведёт к выполнению кода до завершения обработки текущего пакета. Подобная особенность может использоваться для скрытия атаки. Изменив на лету память процесса apk через /proc/pid/mem, атакующий может добиться завершения apk всегда с нулевым кодом возврата, что позволяет успешно довести до конца процесс обновления или сборки Docker-контейнера и не вызвать подозрений.

URL: https://justi.cz/security/2018/09/13/alpine-apk-rce.html
Новость: https://www.opennet.dev/opennews/art.shtml?num=49273

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

Оглавление

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


1. "Уязвимость в пакетном менеджере APK, позволяющая удалённо вы..."  +3 +/
Сообщение от Аноним (1), 14-Сен-18, 20:38 
Пользуюсь voidlinux, но рад, что дружественный проект исправил уязвимость.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

2. "Уязвимость в пакетном менеджере APK, позволяющая удалённо вы..."  –3 +/
Сообщение от Оффтоп (?), 14-Сен-18, 20:50 
кстати про voidlinux и уязвимости. Они до сих пор не переехали с гитхаба?
Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

3. "Уязвимость в пакетном менеджере APK, позволяющая удалённо вы..."  +/
Сообщение от Аноним (1), 14-Сен-18, 20:55 
Да что-то они не в тренде.
Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

5. "Уязвимость в пакетном менеджере APK, позволяющая удалённо вы..."  –2 +/
Сообщение от freehckemail (ok), 14-Сен-18, 21:23 
Выполнить любой код в Alpine? Ммм, значит дистр, ориентированный на безопасность. :)
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

6. "Уязвимость в пакетном менеджере APK, позволяющая удалённо вы..."  +3 +/
Сообщение от Аноним (6), 14-Сен-18, 22:14 
интересно, как в этом плане обстоят дела у apt/dnf/zypper
Ответить | Правка | ^ к родителю #5 | Наверх | Cообщить модератору

16. "Уязвимость в пакетном менеджере APK, позволяющая удалённо вы..."  –1 +/
Сообщение от DerRoteBaron (ok), 15-Сен-18, 23:30 
У dnf/zypper в их родной среде должно быть меньше проблем, так как rpm это не матрёшка из tgz/txz, а специфичный формат, содержащий подпись в заголовке и, если я правильно понял, подписывающей cpio-payload, а не файлики внутри по одному.
И собственно инвалидность подписи проверяется ещё до начала транзакции
Ответить | Правка | ^ к родителю #6 | Наверх | Cообщить модератору

25. "Уязвимость в пакетном менеджере APK, позволяющая удалённо вы..."  +/
Сообщение от freehckemail (ok), 01-Окт-18, 07:46 
> У dnf/zypper в их родной среде должно быть меньше проблем, так как
> rpm это не матрёшка из tgz/txz, а специфичный формат, содержащий подпись
> в заголовке и, если я правильно понял, подписывающей cpio-payload, а не
> файлики внутри по одному.

Ещё бы тебе уяснить, что на подписи отдельных пакетов, если таковые вообще имеются, никто и никогда не смотрит, потому что достаточно один раз проверить подпись репозитория, а дальше уже просто сверять хеш пакета с проверенным. И это общий подход для дистров, что для deb, что для rpm.

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

24. "Уязвимость в пакетном менеджере APK, позволяющая удалённо вы..."  +/
Сообщение от Аноним (-), 27-Сен-18, 18:42 
Лучше. За годы развития их все-таки в целом отучили от детских болезней. Тот же apt+dpkg вообще ничего распаковывать не будет если подпись или хэш кривые. До этого дело просто не дойдет.
Ответить | Правка | ^ к родителю #6 | Наверх | Cообщить модератору

26. "Уязвимость в пакетном менеджере APK, позволяющая удалённо вы..."  +/
Сообщение от EHLO (?), 01-Окт-18, 10:29 
>интересно, как в этом плане обстоят дела у apt/dnf/zypper

предсказуемо хуже. Поиск по базе CVE в помощь.

Ответить | Правка | ^ к родителю #6 | Наверх | Cообщить модератору

7. "Уязвимость в пакетном менеджере APK, позволяющая удалённо вы..."  –5 +/
Сообщение от ALex_hha (ok), 14-Сен-18, 23:42 
> используется по умолчанию для контейнеров Docker

Кем используется?

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

11. "Уязвимость в пакетном менеджере APK, позволяющая удалённо вы..."  +/
Сообщение от anonimous (?), 15-Сен-18, 08:57 
Всеми используется
Ответить | Правка | ^ к родителю #7 | Наверх | Cообщить модератору

17. "Уязвимость в пакетном менеджере APK, позволяющая удалённо вы..."  +2 +/
Сообщение от ALex_hha (ok), 16-Сен-18, 02:29 
Есть статистика или лишь перднуть?
Ответить | Правка | ^ к родителю #11 | Наверх | Cообщить модератору

20. "Уязвимость в пакетном менеджере APK, позволяющая удалённо вы..."  +/
Сообщение от anonimous (?), 16-Сен-18, 19:56 
Перднуть. А разве не так?
Ответить | Правка | ^ к родителю #17 | Наверх | Cообщить модератору

22. "Уязвимость в пакетном менеджере APK, позволяющая удалённо вы..."  +1 +/
Сообщение от your mom (?), 16-Сен-18, 21:58 
в след раз почитай про сабж прежде, чем начнешь быковать.
Ответить | Правка | ^ к родителю #17 | Наверх | Cообщить модератору

8. "Уязвимость в пакетном менеджере APK, позволяющая удалённо вы..."  +3 +/
Сообщение от Аноним (8), 15-Сен-18, 00:38 
Очень интересует, что употребляют люди, которые придумывают такие атаки, и можно ли эти вещества где-то купить без рецепта?
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

13. "Уязвимость в пакетном менеджере APK, позволяющая удалённо вы..."  +1 +/
Сообщение от test_test (?), 15-Сен-18, 09:21 
Ничего они не употребляют. Просто используют метод научного тыка, курят мануалы и комбинируют мелкие уязвимости в большие. Просто чуваки оч умные.
Ответить | Правка | ^ к родителю #8 | Наверх | Cообщить модератору

14. "Уязвимость в пакетном менеджере APK, позволяющая удалённо вы..."  +3 +/
Сообщение от trunk (?), 15-Сен-18, 16:48 
А говоришь - не употребляют. И тут же - курят... маны. )
Ответить | Правка | ^ к родителю #13 | Наверх | Cообщить модератору

9. "Уязвимость в пакетном менеджере APK, позволяющая удалённо вы..."  +2 +/
Сообщение от Аноним (9), 15-Сен-18, 04:25 
> проект Alpine Linux выпустил обновление 3.8.1, в который включено данное исправление.

...которое загружается тем самым пакетным менеджером?

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

10. "Уязвимость в пакетном менеджере APK, позволяющая удалённо вы..."  +/
Сообщение от Аноним (10), 15-Сен-18, 05:12 
rm -rf /* init скрипт запихнуть.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

12. "Уязвимость в пакетном менеджере APK, позволяющая удалённо вы..."  +1 +/
Сообщение от anonimous (?), 15-Сен-18, 08:59 
Хорошая атака ничего не ломает и никак себя не выдает.
Ответить | Правка | ^ к родителю #10 | Наверх | Cообщить модератору

15. "Уязвимость в пакетном менеджере APK, позволяющая удалённо вы..."  +/
Сообщение от нонима (?), 15-Сен-18, 23:04 
>> ошибка проявляется на стадии распаковки пакета, которая выполняется до проверки цифровой подписи

Л - логика. Распаковать и только потом проверять.

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

18. "Уязвимость в пакетном менеджере APK, позволяющая удалённо вы..."  +/
Сообщение от Аноним (18), 16-Сен-18, 09:55 
Это значит, что пакетные менеджеры следует разбивать на часть, которая принимает, распаковывает, проверяет КС и часть, которая на самом последнем этапе помещает прошедшие проверку файлы в ФС ОС. Первая часть должна перед началом работы сменить владельца процесса на какого-нибудь совсем бесправного пользователя.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

19. "Уязвимость в пакетном менеджере APK, позволяющая удалённо вы..."  +/
Сообщение от Аноним (19), 16-Сен-18, 11:12 
> Это значит, что пакетные менеджеры следует разбивать на часть, которая принимает, распаковывает,
> проверяет КС и часть, которая на самом последнем этапе помещает прошедшие
> проверку файлы в ФС ОС. Первая часть должна перед началом работы
> сменить владельца процесса на какого-нибудь совсем бесправного пользователя.

А почему нельзя сделать, чтобы системное дерево и файлы принадлежало пользователю типа rootfs?
Чтобы никто кроме rootfs и root не мог изменить файлы.

Ответить | Правка | ^ к родителю #18 | Наверх | Cообщить модератору

21. "Уязвимость в пакетном менеджере APK, позволяющая удалённо вы..."  +/
Сообщение от your mom (?), 16-Сен-18, 21:51 
они и так руту принадлежат
Ответить | Правка | ^ к родителю #19 | Наверх | Cообщить модератору

23. "Уязвимость в пакетном менеджере APK, позволяющая удалённо вы..."  +/
Сообщение от sposob (?), 17-Сен-18, 03:03 
...стукнули буквы с квэрти, это самая ужасная новость за пол ночи...
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

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

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




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

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