Альткойны

Исправления для пяти критических уязвимостей в Lix: что нужно знать владельцам систем

Альткойны
Fixes for Five Lix CVEs

Обзор важных обновлений безопасности Lix, направленных на устранение пяти критических уязвимостей, раскрывающий суть проблемы, предпринятые меры и рекомендации по обновлению для пользователей Linux и macOS.

В современном мире информационной безопасности вопросы защиты систем становятся все более актуальными. Особенно это касается инструментов управления пакетами и сборок, таких как Lix — независимый вариант пакетного менеджера Nix. Недавно командой безопасности Lix было объявлено о наличии пяти серьезных уязвимостей, которые получили соответствующие CVE-номера. Эти проблемы способны привести к локальному повышению привилегий и другим нежелательным последствиям, что вынудило разработчиков приложить максимум усилий для их оперативного устранения и выпустить важные обновления. Весной 2025 года произошла шквала активных действий по выявлению, устранению и тестированию багов, способных ставить под угрозу безопасность пользователей.

Lix является сложным комплексом программ, работающих с моделью сборок и управлением пакетами, где большая часть процессов выполняется под ограниченными пользователями (nixbld*), а ключевой сервис — nix-daemon — работает с повышенными привилегиями от имени root. Эта архитектура изначально призвана исключить риск несанкционированного доступа, однако детали реализации рядовых операций с файлами и временными каталогами оставляли пространство для потенциальных атак. Особенно уязвимыми оказались методы обработки временных директорий и использования UNIX domain sockets в Linux. Основной вектор атаки связан с так называемым time-of-check vs. time-of-use (TOCTOU) — проблемой, когда между моментом проверки состояния файловой системы и их непосредственным использованием возникает возможность вмешательства злоумышленника.

В Lix это проявлялось в том, что многие операции со ссылками на файлы осуществлялись по строковым путям вместо использования файловых дескрипторов, что позволяло перехватывать и манипулировать объектами файловой системы. Эти «окна» использования пути как идентификатора файла позволяли заменить директории или файлы между проверкой и вызовом, создавая риск повышения привилегий внутри системы. Отдельным критическим дефектом стала ошибка в давно существующей функции рекурсивного удаления. Изначально функция должна была безопасно удалять каталоги, используя дескрипторы директории для предотвращения замены каталогов во время удаления. Однако из-за неверного обращения с переменными и смешивания абсолютных и относительных путей, вместо корректных вызовов unlinkat с дескрипторами, вызывалась команда с длинным абсолютным путем, что породило уязвимость – злоумышленник мог заменить tmp-дериктории на свои собственные, что приводило к удалению и подмене системных данных.

Очевидно, что подобные баги нельзя оставлять без контроля. В ответ разработчики кардинально пересмотрели логику работы с временными файлами и каталогами. Основным исправлением стало активное повсеместное использование файловых дескрипторов при работе с каталогами и файлами, что существенно снижает риск подмены объектов между проверкой и использованием. Кроме того, особое внимание уделили проверкам корректности поступающих дескрипторов во время сборок, чтобы гарантировать, что задействованные ресурсы действительно соответствуют ожидаемым. Еще одной важной мерой стала смена места проведения сборок.

Если раньше сборки происходили в общедоступных и общезаписываемых временных каталогах вроде /tmp, что облегчало атаки, то теперь сборочные директории размещаются в специально защищенном пространстве — /nix/var/nix/builds. Этот каталог находится под полным контролем nix-daemon и недоступен для посторонних пользователей, что значительно повышает безопасность и исключает возможность подмены каталогов. Однако с этой сменой связаны и некоторые особенности. Ранее многие пользователи предпочитали /tmp как tmpfs, то есть папку в памяти RAM, для ускорения сборок и снижения износа дисков. Перемещение в /nix/var/nix/builds, который часто находится на диске, требует пересмотра подходов к монтажу файловых систем, чтобы сохранить производительность сборок.

Также стоит отметить нововведение в области изоляции сетевого стека во время сборок. Linux позволяет создавать изолированные сетевые пространственные имена (network namespaces), в которых процессы видят собственный набор сетевых интерфейсов и сокетов. Прежде проблема возникала с фиксированными выводами сборок (fixed-output derivations), которые имели доступ к сети хоста и могли использовать абстрактные UNIX domain сокеты, доступные в общем сетевом пространстве. Это давало возможность обмениваться файловыми дескрипторами и обходить ограничения изоляции. Теперь для таких сборок опционально применяется инструмент Pasta, создающий на время сборки отдельный сетевой namespace с маршрутизацией трафика через пользовательский процесс.

В результате, фиксированные сборки остаются изолированными от хоста и друг от друга, что снижает вероятность межпроцессных атак. Эти меры дополняются защитой через модули безопасности Linux (LSM), хотя их внедрение сложное и пока находится в процессе развития. Была предпринята попытка запретить использование абстрактных UNIX сокетов на уровне LSM, однако это вызывает технические трудности из-за необходимости точечной фильтрации по пользователям и cgroups. Разработчики рекомендуют рассматривать такой запрет как функцию уровня системных сервисов, например systemd, с последующей интеграцией с cgroups для эффективной изоляции. Стоит уточнить, что подобные меры касаются преимущественно Linux-сред.

В macOS, где изоляция сетей и файловых систем работает иначе, действуют свои подходы. В частности, sandbox-механизмы macOS по умолчанию изолируют сборки по сети, но не обеспечивают файловую изоляцию так, как это реализовано на Linux. При специальных настройках («sandbox=relaxed» или отключении песочницы) границы изоляции значительно снижаются, что требует дополнительной бдительности. Повышенное внимание к безопасности и исправлению выявленных багов стало результатом активной работы команды Lix совместно с внешними исследователями, в том числе Rory McNamara из Snyk Security Labs, и открытого сотрудничества сообщества. Были выпущены обновления Lix 2.

91, 2.92 и 2.93, которые закрывают известные уязвимости. Разработчики настоятельно советуют всем пользователям немедленно перейти на эти новые версии и отказаться от использования устаревших 2.90 версий из-за высокой сложности их поддержки и невозможности легкой портировки исправлений.

Понимание возможных функциональных изменений также очень важно. В частности, использование Pasta может вызвать неожиданное поведение у некоторых сборок, особенно тех, которые задействуют сложные сетевые протоколы или специфичные функции TCP/UDP. Например, сборки, использующие fetchBittorrent или нестандартные UDP протоколы, могут столкнуться с проблемами, а поддержка протоколов SCTP вовсе отсутствует. В подобных случаях рекомендуется сообщать о багах, а также временно выключать Pasta, если стабильность важнее безопасности. Для пользователей NixOS обновление часто происходит через nixpkgs и nixos-channel, и может потребовать переустановки пакетов и пересборки Lix.

Для тех, кто не использует NixOS, доступны бинарные обновления через встроенный механизм nix upgrade-nix или вручную посредством патчей. В случае применения сторонних менеджеров пакетов или дистрибутивов рекомендуется обращаться к своей команде безопасности для получения обновлений или инструкций. Итогом текущих усилий стало значительное укрепление безопасности Lix, снижение риска локального повышения привилегий и правил безопасности при выполнении сборок. Тем не менее пользователям важно сохранять постоянную внимательность, своевременно обновлять программное обеспечение и принимать во внимание рекомендации по конфигурации и изоляции. Безопасность — это комплексный процесс, требующий постоянного совершенствования и адаптации к новым угрозам.

Подводя итог, исправления пяти CVE-уязвимостей в Lix стали результатом кропотливой работы сообщества, направленной на устранение ключевых проблем с безопасностью, изменением архитектуры работы с временными каталогами и файловыми дескрипторами, а также внедрением новых механизмов изоляции сетевого пространства. Благодаря этим мерам Lix сегодня предлагает повышенную защиту для пользователей и демонстрирует пример ответственного подхода к поддержке безопасности в экосистеме open source.

Автоматическая торговля на криптовалютных биржах Покупайте и продавайте криптовалюты по лучшим курсам Privatejetfinder.com (RU)

Далее
Microsoft Teams Security Attack Matrix
Пятница, 19 Сентябрь 2025 Матрица атак Microsoft Teams: новый рубеж кибербезопасности в корпоративных коммуникациях

Подробное исследование угроз безопасности Microsoft Teams в современных условиях гибридной работы. Рассмотрены основные методы атак, используемые злоумышленниками, а также пути защиты и рекомендации для корпоративных пользователей и ИТ-специалистов.

The English Civil Wars and the Republic That Failed
Пятница, 19 Сентябрь 2025 Гражданские войны в Англии и неудавшаяся республики: уроки истории для современности

Погружение в эпоху английских гражданских войн, причины падения первой английской республики и влияние этих событий на развитие конституционализма и религиозной терпимости в Британии и за её пределами.

Internet Explorer Hatred (2015)
Пятница, 19 Сентябрь 2025 Почему ненависть к Internet Explorer стала культовой частью истории интернета

Эволюция отношения пользователей и разработчиков к браузеру Internet Explorer, его влияние на веб-разработку и причины, по которым этот браузер стал символом непопулярности в цифровом мире.

What We Know About the Second An-225 Antonov Wants to Build (2022)
Пятница, 19 Сентябрь 2025 Вторая Ан-225 «Мрия»: планы Антонова по возрождению уникального гиганта

Украинский авиастроительный гигант Антонов планирует завершить строительство второго самолёта Ан-225 «Мрия», который был заморожен ещё в 1994 году. Изучаем детали проекта, текущие трудности и перспективы возрождения легендарного воздушного гиганта.

At Amazon's Biggest Data Center, Everything Is Supersized for A.I
Пятница, 19 Сентябрь 2025 Как крупнейший дата-центр Amazon меняет ландшафт искусственного интеллекта

Подробное исследование крупнейшего дата-центра Amazon в Индиане, его масштабов, технологических решений и влияния на развитие искусственного интеллекта и энергетический рынок.

Show HN: Help improve language coverage in Common Crawl
Пятница, 19 Сентябрь 2025 Расширение языкового охвата Common Crawl: глобальный вклад в открытые данные для искусственного интеллекта

Обсуждение инициатив по улучшению языкового покрытия в Common Crawl и как участие сообщества помогает создавать более разнообразные и качественные языковые данные для развития технологий обработки естественного языка.

UAE Pass streamlines access to over 5k digital services
Пятница, 19 Сентябрь 2025 UAE Pass: Новая эра цифровых услуг в ОАЭ с доступом к более чем 5000 сервисам

Платформа UAE Pass значительно упрощает доступ миллионов пользователей к тысячам государственных и частных цифровых услуг, меняя подход к взаимодействию с государством и бизнесом в ОАЭ.