Meshtastic - реализация самодостаточной mesh-сети на базе передатчиков LoRa
Проект Meshtastic развивает открытую коммуникационную платформу для построения самодостаточной децентрализованной сети передачи сообщений, в которой каждая точка сети связывается через соседние точки, без использования централизованных маршрутизаторов. Для трансляции сигнала используются приёмопередатчики на базе протокола LoRa, позволяющие передавать данные в нелицензируемом диапазоне частот со скоростью несколько килобит в секунду на расстояния в десятки или даже сотни километров (пользователями Meshtastic установлен рекорд в 254 км).
Проект GodotOS, подготовил оболочку операционной системы на игровом движке Godot
Опубликован первый выпуск проекта GodotOS, развивающего прототип графического интерфейса, созданный с использованием игрового движка Godot. GodotOS преподносится как эксперимент по использованию игрового движка для проектирования минималистичного, удобного и эстетически привлекательного интерфейса рабочего стола. Код проекта написан на языке GDScript и распространяется под лицензией AGPLv3. Сборки доступны для Linux и Windows, также подготовлена демонстрация, загружаемая через Web и работающая в браузере.
Первый кандидат в релизы KDE 6
Началось тестирование кандидата в релизы пользовательского окружения KDE Plasma 6, библиотек KDE Frameworks 6 и коллекции приложений KDE Gear 6. Кандидат в релизы ознаменовал переход на финальную стадию тестирования перед релизом, намеченным на 28 февраля. Для оценки работы KDE 6 можно воспользоваться сборками от проекта KDE Neon или пакетами для Fedora.
В Arti 1.1.12, реализации Tor на Rust, началось тестирование onion-сервисов
Разработчики анонимной сети Tor опубликовали выпуск проекта Arti 1.1.12, развивающего Tor-клиент, написанный на языке Rust. Ветка 1.x отмечена как пригодная для использования обычными пользователями и обеспечивающая тот же уровень конфиденциальности, юзабилити и стабильности, что и основная реализация на языке Си. Код распространяется под лицензиями Apache 2.0 и MIT.
Релиз языка программирования V 0.4.4
После двух месяцев разработки опубликована новая версия статически типизированного языка программирования V (vlang). Основными целями при создании V были простота изучения и использования, высокая читаемость, быстрая компиляция, повышенная безопасность, эффективная разработка, кроссплатформенное использование, улучшенное взаимодействие с языком C, лучшая обработка ошибок, современные возможности и более удобное сопровождение программ. Проект также развивает свою графическую библиотеку и пакетный менеджер. Код компилятора, библиотек и сопутствующих инструментов открыт под лицензией MIT.
Arch Linux перешёл на использование dbus-broker
Разработчики Arch Linux объявили о задействовании проекта dbus-broker в качестве применяемой по умолчанию реализации шины D-Bus. Утверждается, что использование dbus-broker вместо классического фонового процесса dbus-daemon позволит повысить надёжность, увеличить производительность и улучшить интеграцию с systemd. Возможность использования старого фонового процесса dbus-daemon в качестве опции сохранена - пакетный менеджер Pacman будет предоставлять выбор в установке dbus-broker-units или dbus-daemon-units, предлагая первый вариант по умолчанию.
Обновление Firefox 121.0.1
Доступен корректирующий выпуск Firefox 121.0.1, в котором предложены следующие исправления.
GitHub заблокировал игровой движок OpenXRay по требованию GSC
Компания GSC Game World, разработавшая серию игр S.T.A.L.K.E.R., добилась блокировки на GitHub репозитория открытого проекта OpenXRay, воспроизводящего игровой движок для первых частей игры S.T.A.L.K.E.R. Проект основан после утечки исходных кодов оригинального движка S.T.A.L.K.E.R. и ставит перед собой цель исправления всех оригинальных недочётов и введения новых возможностей, таких как поддержка 64-разрядных платформ, Linux и OpenGL.
Выпуск системы тестирования памяти Memtest86+ 7.0
Доступен выпуск программы для тестирования оперативной памяти Memtest86+ 7.0. Программа не привязана к операционным системам и может запускаться напрямую из прошивки BIOS/UEFI или из загрузчика для проведения полной проверки оперативной памяти. В случае выявления проблем построенная в Memtest86+ карта сбойных участков памяти может использоваться в ядре Linux для исключения проблемных областей при помощи опции memmap. Код проекта распространяется под лицензией GPLv2.
Выпуск межсетевого экрана firewalld 2.1
Сформирован выпуск динамически управляемого межсетевого экрана firewalld 2.1, реализованного в форме обвязки над пакетными фильтрами nftables и iptables. Firewalld запускается в виде фонового процесса, позволяющего динамически изменять правила пакетного фильтра через D-Bus, без необходимости перезагрузки правил пакетного фильтра и без разрыва установленных соединений. Проект уже применяется во многих дистрибутивах Linux, включая RHEL 7+, Fedora 18+ и SUSE/openSUSE 15+. Код firewalld написан на языке Python и распространяется под лицензией GPLv2.
Уязвимость в Perl-модуле Spreadsheet::ParseExcel, используемая для компрометации Barracuda ESG
В Perl-модуле Spreadsheet::ParseExcel, предоставляющем функции для разбора файлов в формате Excel, выявлена критическая уязвимость (CVE-2023-7101), позволяющая выполнить произвольный код при обработке файлов XLS или XLSX, включающих специально оформленные правила форматирования чисел. Уязвимость вызвана использованием при построении вызова "eval" данных, полученных из обрабатываемого файла. Проблема устранена в обновлении Spreadsheet::ParseExcel 0.66. Имеется прототип эксплоита.
Проблемы из-за подготовленных AI-инструментами отчётов об уязвимостях
Дэниел Cтенберг (Daniel Stenberg), автор утилиты для получения и отправки данных по сети curl, выступил с критикой использования AI-инструментов при создании отчётов об уязвимостях. Подобные отчёты включают детальные сведения, написаны нормальным языком и выглядят качественными, но без вдумчивого анализа на деле могут лишь вводить в заблуждение, подменяя реальные проблемы качественно выглядящим мусорным содержимым.
Ядро Maestro, написанное на Rust и частично совместимое с Linux
Представлен проект по разработке на языке Rust легковесного Unix-подобного ядра, реализующего подмножество системных вызовов ядра Linux, достаточное для создания типовых рабочих окружений. Проект был создан в 2018 году и вначале использовал язык Си, но в 2020 году был полностью перезапущен с нуля с учётом накопленного опыта и перешёл на Rust для снижения вероятности совершения ошибок, возникающих при работе с памятью. Код ядра распространяется под лицензией MIT. Помимо ядра проектом на языке Rust также развиваются X11-сервер, пакетный менеджер, загрузчик, инсталлятор, наборы утилит и другие компоненты, необходимые для построения операционной системы.
Сравнение эффективности 20 языков программирования
Опубликована вторая редакция проекта PLB (Programming Language Benchmark), нацеленного на тестирование производительности решения типовых задач на различных языках программирования. В отличие от первой редакции, опубликованной в 2011 году, новый вариант измеряет производительность кода для умножения матриц и решения задачи расстановки 15-ферзей, а также дополнительно оценивает поиск решений в игре Судоку и определение пересечений двух массивов. Код для тестирования был написан на 20 языках программирования.
Выпуск Snoop 1.4.0, OSINT-инструмента для сбора информации о пользователях из открытых источников
Опубликован выпуск проекта Snoop 1.4.0, развивающего криминалистический OSINT-инструмент, который разыскивает учётные записи пользователей в публичных данных (разведка на основе открытых источников). Программа анализирует различные сайты, форумы и социальные сети на предмет наличия искомого имени пользователя, т.е. позволяет определить на каких сайтах имеется пользователь с указанным ником. Проект разработан на материалах исследовательской работы в области скрапинга публичных данных. Сборки подготовлены для Linux и Windows.
В Libreboot реализована поддержка ноутбука HP EliteBook 820 G2
Лия Роу (Leah Rowe), основной разработчик и основатель дистрибутива Libreboot, объявила о реализации возможности использования Libreboot в качестве загрузочной прошивки в ноутбуке HP EliteBook 820 G2. Компания Minifree, основанная разработчиками LibreBoot, начала поставку варианта HP EliteBook 820 G2 с предустановленным LibreBoot. Отмечается, что доход, полученный с продажи будет направлен для финансирования дальнейшей работы над проектом. Модель HP EliteBook 820 G2 была создана в 2015 году, оснащена 12.5-дюймовым экраном и поставлялась с процессорами Intel Core i5-5200U, i5-5300U, i7-5500U и i7-5600U со.
Прекращение поддержки LTS-ядра Linux 4.14
Грег Кроа-Хартман (Greg Kroah-Hartman), отвечающий за поддержку стабильной ветки ядра Linux, объявил о публикации финального выпуска ядра Linux 4.14.336, который станет последним в данной серии. Ветка 4.14 была опубликована в ноябре 2017 года и сопровождалась 6 лет. Продукты, поставляемые с ядром 4.14, рекомендуется перевести на более актуальные LTS-выпуски.
Обновление СУБД Redis 7.0.15 и 7.2.4 с устранением уязвимости
В корректирующих выпусках СУБД Redis 7.0.15 и 7.2.4 устранена опасная уязвимость (CVE-2023-41056), которая потенциально может привести к удалённому выполнению кода из-за записи данных в область за пределами выделенного буфера. Проблема проявляется начиная с выпуска Redis 7.0.9 и вызвана некорректным вычислением параметров буфера в функции sdsResize при выполнении запроса изменения размера.
Проект OpenWrt развивает собственную аппаратную платформу
В канун 20-летия проекта разработчики дистрибутива OpenWrt выступили с инициативой создания развиваемого сообществом беспроводного маршрутизатора OpenWrt One (AP-24.X). В качестве основы OpenWrt One предлагается использовать начинку, схожую с платами Banana Pi (BPi-R4), которые комплектуются открытыми прошивками (за исключением прошивки беспроводного чипа), поставляются с U-Boot и поддерживаются в ядре Linux. Схемы для собственной сборки устройства будут поставляться под одной из открытых лицензий (точно лицензия пока не выбрана). Стоимость устройства не будет превышать 100 долларов.
Доступен Vcc, C/C++ компилятор для Vulkan
После трёх лет разработки представлен исследовательский проект Vcc (Vulkan Clang Compiler), нацеленный на создание компилятора, способного транслировать код на языке С++ в представление, выполняемое на GPU, поддерживающих графический API Vulkan. В отличие от моделей программирования GPU на базе языков шейдеров GLSL и HLSL в Vcc развивается идея полного отказа от использования отдельных языков шейдеров и предоставляется возможность прямой компиляции кода C/C++ для Vulkan. Наработки проекта распространяются под лицензией MIT.
Уязвимость в реализациях постквантового алгоритма шифрования Kyber
В реализации алгоритма шифрования Kyber, победившего на конкурсе криптоалгоритмов, стойких к подбору на квантовом компьютере, выявлена уязвимость, допускающая проведение атак по сторонним каналам для воссоздания секретных ключей на основе измерения времени операций во время расшифровки предоставленного атакующим шифротекста. Проблема затрагивает как эталонную реализацию механизма инкапсуляции ключей CRYSTALS-Kyber KEM, так и многие сторонние библиотеки шифрования с поддержкой Kyber, в том числе библиотеку pqcrypto применяемую в мессенджере Signal.
Выпуск Chrome OS 120
Доступен релиз операционной системы Chrome OS 120, основанной на ядре Linux, системном менеджере upstart, сборочном инструментарии ebuild/portage, открытых компонентах и web-браузере Chrome 120. Пользовательское окружение Chrome OS ограничивается web-браузером, а вместо стандартных программ задействованы web-приложения, тем не менее, Chrome OS включает в себя полноценный многооконный интерфейс, рабочий стол и панель задач. Исходные тексты распространяются под свободной лицензией Apache 2.0. Сборка Chrome OS 120 доступна для большинства актуальных моделей Chromebook. Для использования на обычных компьютерах предлагается редакция Chrome OS Flex.
Для OpenBSD реализована возможность использования рабочего стола KDE Plasma
Рафаэль Садовский (Rafael Sadowski) объявил о доступности пользовательского окружения KDE Plasma 5.27 для установки в OpenBSD-current, формировании готовых для установки пакетов kde-plasma и kde-plasma-extra, и намерении обеспечить поддержку KDE Plasma в весеннем выпуске OpenBSD 7.5. После прекращения поддержки KDE4 в OpenBSD так и не была перенесена возможность использования новой ветки рабочего стола KDE Plasma 5. Пакеты с приложениями KDE Gears 5 и библиотеками KDE Frameworks 5 достаточно давно доступны в портах OpenBSD, но сама оболочка до настоящего времени оставалась неработоспособной.
Релиз ядра Linux 6.7
После двух месяцев разработки Линус Торвальдс представил релиз ядра Linux 6.7. Среди наиболее заметных изменений: интеграция ФС Bcachefs, прекращение поддержки архитектуры Itanium, возможность работы Nouvea с прошивками GSP-R, поддержка TLS-шифрования в NVMe-TCP, возможность использования исключений в BPF, поддержка futex в iouring, оптимизация производительности планировщика fq (Fair Queuing), поддержка расширения TCP-AO (TCP Authentication Option) и возможность ограничения сетевых соединений в механизме защиты Landlock, добавлено управление доступом к user namespace и iouring через AppArmor.
Компрометация учётной записи привела к сбою BGP-маршрутизации Orange Espagne
Компрометация учётной записи администратора привела к почти четырёхчасовому сбою в работе второго по величине испанского оператора связи Orange Espagne, обслуживающего 11 млн абонентов. Для доступа к интерфейсу регистратора RIPE NCC в Orange Espagne применялся предсказуемый пароль "ripeadmin" и не была включена двухфакторная аутентификация.
Уязвимость в предлагаемой в Qt реализации протокола HTTP/2
В библиотеке Qt выявлена уязвимость (CVE-2023-51714) в реализации протокола HTTP/2, позволяющая добиться записи своих данных за пределы выделенного буфера. Уязвимость вызвана целочисленным переполнением в коде разбора упакованных заголовков (HPack) и проявляется при получении более 4 ГБ суммарных данных HTTP-заголовков или 2 ГБ для одного заголовка. Проблема устранена в обновлениях Qt 5.15.17, 6.2.11, 6.5.4 и 6.6.2.
Эксперимент с созданием NPM-пакета, зависимого от всех пакетов в репозитории
Один из разработчиков JavaScript-пакетов провёл эксперимент с созданием и размещением в репозитории NPM пакета "everything", который охватывает зависимостями все существующие пакеты в репозитории. Для реализации подобной возможности пакет "everything" связан прямыми зависимостями с пятью пакетами "@everything-registry/chunk-N", которые в свою очередь привязываются зависимостями к более 3000 пакетов "sub-chunk-N", в каждом из которых осуществляется привязка к 800 существующих пакетов в репозитории.
Наиболее важные события 2023 года, связанные с открытыми проектами
Итоговая подборка наиболее важных и заметных событий 2023 года, связанных с открытыми проектами и информационной безопасностью.
Релиз текстового редактора Vim 9.1
После полутора лет разработки состоялся релиз текстового редактора Vim 9.1. Код Vim распространяется под собственной копилефт лицензией, совместимой с GPL и позволяющей без ограничений использовать, распространять и перерабатывать код. Основная особенность лицензии Vim связана с возвратом изменений - реализованные в сторонних продуктах улучшения должны быть переданы в исходный проект, если мэйнтейнер Vim посчитает эти улучшения заслуживающими внимания и отправит соответствующий запрос. По типу распространения Vim относится к Сharityware, т.е. вместо продажи программы или сбора пожертвований на нужды проекта авторы Vim просят перечислить любую сумму на благотворительность, если программа понравится пользователю.
Каталог PyPI перешёл на обязательную двухфакторную аутентификацию
Разработчики репозитория Python-пакетов PyPI (Python Package Index) объявили о внедрении обязательной двухфакторной аутентификации для всех пользователей. Без включения двухфакторной аутентификации пользователь теперь не сможет загружать файлы и выполнять действия, связанные с управлением своим проектом. Ранее двухфакторная аутентификация была принудительно включена для учётных записей пользователей, сопровождающих хотя бы один проект или входящих в курирующие пакеты организации.