Раскрыты подробности о root-уязвимости в ядре Linux

Раскрыты подробности о root-уязвимости в ядре Linux

Раскрыты подробности о root-уязвимости в ядре Linux

Опубликованы сведения о 0-day уязвимости в ядре Linux (CVE-2017-7184), которая была использована на соревновании Pwn2Own 2017 для демонстрации атаки на Ubuntu Linux, позволившей локальному пользователю выполнить код с правами root.

Уязвимость вызвана ошибкой во фреймворке преобразования сетевых пакетов XFRM, применяемом для реализации IPsec. В функции xfrm_replay_verify_len(), вызываемой из xfrm_new_ae(), не выполнялась проверка заданного пользователем параметра replay_window, записываемого в буфер состояний. Манипулируя содержимым, связанным с данным параметром, атакующий может организовать запись и чтение данных в областях памяти ядра за пределами выделенного буфера.

Несмотря на то, что эксплуатация была продемонстрирована в Ubuntu, проблема не специфична для данного дистрибутива и проявляется в любых других системах на базе ядра Linux. Как и в нескольких предыдущих root-уязвимостях в ядре, проблема может быть эксплуатирована только при включении пространств имён для идентификаторов пользователей (user namespaces). Например, пакеты с ядром для Ubuntu и Fedora уязвимы по умолчанию, а ядро Debian и RHEL/CentOS 7 может быть атаковано только после явной активации поддержки "user namespaces" (sysctl kernel.unprivileged_userns_clone=1). Атака также затруднена на старые системы с версиями ядра меньше 3.9 из-за в них отсутствия поддержки "user namespaces", пишет opennet.ru.

При проведении атаки "user namespaces" используется для получения обычным пользователем прав CAP_NET_ADMIN, необходимых для настройки параметров XFRM. Так как создаваемое через "user namespaces" изолированное окружение и основная система обслуживаются одним ядром Linux, то эксплуатация уязвимости в ядре из контейнера позволяет обойти ограничения контейнерной изоляции и получить привилегированный доступ к основной системе.

Для ядра Linux исправление доступно в виде патчей. Обновления пакетов пока выпущены только для Ubuntu, openSUSE, SUSE Linux Enterprise 12. Проблема остаётся неисправленной в Fedora, Debian и CentOS/RHEL 7. Уязвимость не затрагивает SLE 11, RHEL 5 и RHEL 6. 

GitHub сделает платными собственные раннеры для Actions

GitHub меняет подход к оплате Actions и готовится брать деньги за то, что раньше было бесплатным. С марта компания начнёт взимать плату за использование собственных раннеров в приватных репозиториях — по $0,002 за минуту работы. Для публичных репозиториев ничего не меняется: там собственные раннеры по-прежнему бесплатны.

Об изменениях GitHub сообщил в блоге, одновременно анонсировав снижение цен на GitHub-раннеры с 1 января. Всё это компания объединяет под лозунгом «более простое ценообразование и лучший опыт работы с GitHub Actions».

Реакция крупных пользователей оказалась ожидаемой. В DevOps-сообществе новость встретили без энтузиазма. Один из пользователей Reddit рассказал, что для его команды новые тарифы означают плюс около $3,5 тыс. в месяц к счёту GitHub — и это при использовании собственных серверов.

В GitHub объясняют решение тем, что собственные раннеры годами фактически пользовались инфраструктурой Actions бесплатно. По словам компании, развитие и поддержка этих сервисов всё это время субсидировались за счёт цен на GitHub раннеры, и теперь расходы хотят «привести в соответствие с фактическим использованием».

При этом GitHub уверяет, что большинство пользователей изменений не почувствует. По оценке компании:

  • 96% клиентов не увидят роста расходов вообще;
  • из оставшихся 4% у 85% затраты даже снизятся;
  • для оставшихся 15% медианный рост составит около $13 в месяц.

Для тех, кто использует самохостные раннеры и хочет заранее понять, во что это выльется, GitHub обновил калькулятор цен, добавив туда новые расчёты.

Тем не менее для крупных команд и корпоративных проектов нововведение может стать поводом пересмотреть CI/CD-процессы — особенно если их раннеры использовались активно именно ради экономии.

RSS: Новости на портале Anti-Malware.ru