Уязвимость в утилите GNU split, приводящая к переполнению буфера

В утилите split, поставляемой в пакете GNU coreutils и применяемой для разделения больших файлов на части, выявлена уязвимость (CVE-2024-0684), приводящая к переполнению буфера при обработке длинных строк (несколько сотен байт), в случае использования в split опции «—line-bytes» («-C»). Уязвимость была выявлена в ходе анализа сбоев, возникающих при использовании утилиты split для разделения данных, передаваемых при помощи QR-кодов. Уязвимость вызвана ошибкой, допущенной в выпуске coreutils 7.2 при замене вызова функции xrealloc на xpalloc. Патч с исправлением уже принят в кодовую базу, но новая версия с исправлением пока не сформирована. Для демонстрации проявления уязвимости опубликован пример файла, вызывающего переполнение при запуске «split … Читать далее Уязвимость в утилите GNU split, приводящая к переполнению буфера

Выпуск OneScript 1.9.0, среды исполнения скриптов на языке 1С:Предприятие

Опубликован выпуск проекта OneScript 1.9.0, развивающего независимую от компании 1С кросс-платформенную виртуальную машину для выполнения скриптов на языке 1С:Предприятие. Система самодостаточна и позволяет выполнять скрипты на языке 1С без установки платформы 1С:Предприятие и специфичных для неё библиотек. Виртуальную машину OneScript можно использовать как для прямого исполнения сценариев на языке 1С, так и для встраивания поддержки их исполнения в приложения, написанные на других языках. Код проекта написан на языке С# и распространяется под лицензией MPL-2.0. Поддерживается работа в Linux, Windows и macOS. OneScript поддерживает все возможности языка 1С, включая нестрогую типизацию, условные выражения, циклы, исключения, массивы, регулярные выражения, COM-объекты и встроенные … Читать далее Выпуск OneScript 1.9.0, среды исполнения скриптов на языке 1С:Предприятие

Релиз Firefox 122

Состоялся релиз web-браузера Firefox 122 и сформировано обновление ветки с длительным сроком поддержки — 115.7.0. На стадию бета-тестирования переведена ветка Firefox 123, релиз которой намечен на 20 февраля. Основные новшества в Firefox 122: Расширены возможности, связанные с выводом рекомендаций при вводе в адресной строке. Для некоторых поисковых систем реализована возможности показа в рекомендациях изображений и текстовых описаний. При поиске информации, связанной с web-разработкой, обеспечен вывод среди рекомендаций ссылок на документацию в MDN (Mozilla Developer Network). Началось формирование готовых deb-пакетов для Ubuntu, Debian и Linux Mint. Формируемые пакеты совместимы с традиционными сборками Firefox для Debian и Ubuntu, предлагаемыми для загрузки в … Читать далее Релиз Firefox 122

Оценка эффективности применения MiraclePtr для предотвращения уязвимостей в Chrome

Компания Google проанализировала эффективность использования в коде на языке С++ типа MiraclePtr (raw_ptr‹T›) вместо обычных указателей для защиты от уязвимостей, вызванных обращением к уже освобождённым областям памяти (use-after-free). MiraclePtr предоставляет обвязку над указателями, выполняющую дополнительные проверки и аварийно завершающую работу в случае обнаружения обращения к освобождённым областям памяти. Поддержка MiraclePtr была включена по умолчанию на платформах Windows и Android в мае 2022 года (в Chrome 102), а на платформах ChromeOS, Linux и macOS в июне 2023 года. Защита на базе MiraclePtr в Chrome применяется для всех процессов, кроме процесса, отвечающего за отрисовку (renderer). После изучения динамики отправки отчётов об уязвимостях … Читать далее Оценка эффективности применения MiraclePtr для предотвращения уязвимостей в Chrome

Представлен RubyWM, оконный менеджер, написанный целиком на Ruby

Опубликован проект RubyWM, развивающий оконный менеджер на базе протокола X11, написанный на языке Ruby, включая драйвер для работы с протоколом X11. RubyWM поддерживает виртуальные рабочие столы и может использовать как мозаичную (tailing) компоновку окон, так и произвольное позиционирование окон на рабочем столе. Код RubyWM распространяется под лицензией MIT. Проект также развивает библиотеку pure-X11 с реализацией протокола X11 на языке Ruby. Оконный менеджер отмечен как экспериментальный, но уже используется в повседневной работе автора проекта. Из ещё не реализованных возможностей отмечается декорирование окон (сейчас используется простейшая рамка), многомониторные конфигурации, перемещение и изменение размера мышью с захватом за край окна (для прикрепления к … Читать далее Представлен RubyWM, оконный менеджер, написанный целиком на Ruby

Компания Valve выпустила Proton 8.0-5, пакет для запуска Windows-игр в Linux

Компания Valve опубликовала обновление проекта Proton 8.0-5, основанного на кодовой базе проекта Wine и нацеленного на обеспечение запуска в Linux игровых приложений, созданных для Windows и представленных в каталоге Steam. Наработки проекта распространяются под лицензией BSD. Proton позволяет напрямую запускать в Linux-клиенте Steam игровые приложения, поставляемые только для Windows. Пакет включает в себя реализацию DirectX 9/10/11 (на базе пакета DXVK) и DirectX 12 (на базе vkd3d-proton), работающие через трансляцию вызовов DirectX в API Vulkan, предоставляет улучшенную поддержку игровых контроллеров и возможность использования полноэкранного режима независимо от поддерживаемых в играх разрешений экрана. Для увеличения производительности многопоточных игр поддерживаются механизмы «esync» (Eventfd … Читать далее Компания Valve выпустила Proton 8.0-5, пакет для запуска Windows-игр в Linux

Доступны дистрибутивы MX Linux 23.2 и AV Linux 23.1

Опубликован релиз легковесного дистрибутива MX Linux 23.2, созданного в результате совместной работы сообществ, образовавшихся вокруг проектов antiX и MEPIS. Выпуск основан на пакетной базе Debian с улучшениями от проекта antiX и пакетами из собственного репозитория. В дистрибутиве используется система инициализации sysVinit и собственные инструменты для настройки и развёртывания системы. Для загрузки доступны 32- и 64-разрядные сборки (x86_64, i386) с рабочим столом Xfce (2.3 ГБ), а также 64-разрядные сборки с рабочим столом KDE (2.7 ГБ) и сборки (1.8 ГБ) с оконным менеджером Fluxbox. В новом выпуске: Осуществлена синхронизация с пакетной базой Debian 12.4. Обновлены версии приложений. Как и в прошлых выпусках … Читать далее Доступны дистрибутивы MX Linux 23.2 и AV Linux 23.1

Проект bpftime развивает реализацию eBPF, работающую в пространстве пользователя

Представлен проект bpftime, развивающий runtime и виртуальную машину для выполнения обработчиков eBPF в пространстве пользователя. Bpftime позволяет создавать eBPF-сценарии трассировки и вмешательства в работу процессов, реализующие такие возможности, как uprobe и программный перехват всех системных вызовов, работающие целиком в пространстве пользователя. Отмечается, что благодаря исключению лишних переключений контекста bpftime позволяет добиться десятикратного снижения накладных расходов по сравнению с использованием функциональности uprobe и uretprobe, предоставляемой ядром Linux. Кроме того, bpftime значительно упрощает отладку, потенциально может применяться на системах без ядра Linux и не требует расширенных привилегий, необходимых для загрузки eBPF-приложения в ядро. Код проекта написан на языках С/C++ и распространяется под … Читать далее Проект bpftime развивает реализацию eBPF, работающую в пространстве пользователя

Выпуск стандартной Си-библиотеки PicoLibc 1.8.6

Опубликован релиз стандартной Си-библиотеки PicoLibc 1.8.6, развиваемой Китом Паккардом (Keith Packard, лидер проекта X.Org) для применения на встраиваемых устройствах с ограниченным размером постоянного хранилища и оперативной памяти. При разработке часть кода заимствована из библиотеки newlib от проекта Сygwin и AVR Libc, развивавшейся для микроконтроллеров Atmel AVR. Код PicoLibc распространяется под лицензией BSD. Поддерживается сборка библиотеки для архитектур ARM (32-bit), Aarch64, i386, RISC-V, x86_64, m68k и PowerPC. Изначально проект развивался под именем «newlib-nano» и был нацелен на переработку некоторых ресурсоёмких функций Newlib, которые было проблематично использовать на встраиваемых устройствах с небольшим ОЗУ. Например, в PicoLibc функции stdio заменены на компактный вариант … Читать далее Выпуск стандартной Си-библиотеки PicoLibc 1.8.6

Выпуск DietPi 9.0, дистрибутива для одноплатных ПК

Опубликован выпуск специализированного дистрибутива DietPi 9.0, предназначенного для использования на одноплатных ПК на базе архитектур ARM и RISC-V, таких как Raspberry Pi, Orange Pi, NanoPi, BananaPi, BeagleBone Black, Rock64, Rock Pi, Quartz64, Pine64, Asus Tinker, Odroid и VisionFive 2. Дистрибутив построен на пакетной базе Debian и доступен в сборках для более, чем 50 плат. DietPi также может применяться для создания компактных окружений для виртуальных машин и обычных ПК на базе архитектуры x86_64. Сборки для плат отличаются компактностью (в среднем 130 МБ) и занимают меньше места на накопителе, по сравнению с Raspberry Pi OS и Armbian. Проект оптимизирован для минимального потребления … Читать далее Выпуск DietPi 9.0, дистрибутива для одноплатных ПК

Для ядра Linux подготовлены оптимизации, повышающие производительность планировщиков ввода/вывода

Йенс Эксбо (Jens Axboe), создатель io_uring и планировщиков ввода/вывода CFQ, Deadline и Noop, продолжил свои эксперименты с оптимизацией ввода/вывода в ядре Linux. На этот раз под его внимание попали планировщики ввода/вывода BFQ и mq-deadline, оказавшиеся узким местом как минимум в случае скоростных накопителей NVMe. Как показало изучение ситуации, одной из ключевых причин неоптимальной производительности подсистем планировщиков ввода/вывода стали проблемы с конкурирующими блокировками («lock contention«, попытка получить блокировку, удерживаемую другим потоком). Благодаря мерам, нацеленным на снижение соперничества при обработке блокировок, таким как сериализация диспетчеризации и вставки запросов, скорость работы плинировщиков выросла в ряде ситуаций в разы (в IOPS). При тестировании планировщика … Читать далее Для ядра Linux подготовлены оптимизации, повышающие производительность планировщиков ввода/вывода

Разработчики FreeBSD обсуждают использование языка Rust в базовой системе

Алан Сомерс (Alan Somers), разработчик новой реализации драйвера FUSE для FreeBSD и автор Rust-обвязок над некоторыми библиотеками FreeBSD, начал обсуждение процесса включения кода на языке Rust в состав базовой системы. В ходе дискуссии коммиттеров проекта были определены цена и преимущество внедрения. Ценой включения поддержки Rust станет удвоение времени сборки, а преимуществом — упрощение разработки некоторых утилит. Список утилит, которые есть намерение переписать на языке Rust, если бы поддержка Rust появилась в базовой системе: ctl-exporter (экспорт статистики ctlstat в Prometheus). Тесты fusefs. devd . zfsd. nscd. Компоненты стеков 802.11ac и Lightning, работающие в пространстве пользователя. freebsd-kpi-r14-0. Список портов на языке Rust, … Читать далее Разработчики FreeBSD обсуждают использование языка Rust в базовой системе

8.2% наиболее популярных загрузок в NPM приходится на устаревшие пакеты

Исследователи из компании Aqua Security опубликовали результаты анализа статистики о 50 тысячах наиболее загружаемых пакетов в репозитории NPM. 7500 (15%) из наиболее загружаемых пакетов оказались связаны с устаревшими пакетами и прекратившими существование проектами. Для упрощения определения устаревших пакетов среди зависимостей, используемых в своём проекте, предложена утилита Dependency-Deprecated-Checker, опубликованная под лицензией MIT. В 4100 (8.2%) рассмотренных пакетов в цепочке зависимостей выявлены пакеты, официально объявленные в NPM устаревшими или связанные с устаревшими проектами (например, пакет request помечен устаревшим, но продолжает использоваться как прямая зависимость у 55000 пакетов). 2300 (4.6%) пакетов связаны с репозиториями на GitHub, переведёнными в разряд архивных (разработка прекращена, например, … Читать далее 8.2% наиболее популярных загрузок в NPM приходится на устаревшие пакеты

Выпуск СУБД SQLite 3.45

Опубликован релиз SQLite 3.45, легковесной СУБД, оформленной в виде подключаемой библиотеки. Код SQLite распространяется как общественное достояние (public domain), т.е. может использоваться без ограничений и безвозмездно в любых целях. Финансовую поддержку разработчиков SQLite осуществляет специально созданный консорциум, в который входят такие компании, как Bentley, Bloomberg, Expensify и Navigation Data Standard. Основные изменения: Все SQL-функции для работы с форматом JSON переписаны и переведены на новый внутренний формат дерева разбора JSONB, который сериализируется и может храниться в БД для исключения повторного разбора при использовании значений JSON. Новые версии функций, формирующих JSON, теперь генерируют бинарный формат JSONB вместо текстового. В функцию json_valid() добавлен … Читать далее Выпуск СУБД SQLite 3.45

Опыт создания хранилища Ceph c пропускной способностью тебибайт в секунду

Инженер из компании Clyso обобщил опыт создания кластера хранения на базе отказоустойчивой распределённой системы Ceph с пропускной способностью, превышающей тебибайт в секунду. Отмечается, что это первый кластер на базе Ceph, который смог достигнуть подобного показателя, но перед получением представленного результата инженерам потребовалось преодолеть серию не очевидных подводных камней. Например, для повышения производительности на 10-20% было достаточно включить на серверах в настройках энергосбережения BIOS работу только в режиме максимальной производительности и отключить c-state (c-state меняет параметры энергосбережения в зависимости от нагрузки, что отражается на Ceph). Также оказалось, что при использовании накопителей NVMe ядро Linux значительное время тратит на обработку spin-блокировок в … Читать далее Опыт создания хранилища Ceph c пропускной способностью тебибайт в секунду

Платформа совместной разработки SourceHut была выведена из строя на 7 дней из-за DDoS-атаки

Разработчики платформы совместной разработки SourceHut опубликовали отчёт об инциденте, в результате которого работа сервиса была нарушена в течение 7 дней из-за продолжительно DDoS-атаки, к которой инфраструктура проекта оказалась не готова. Базовые сервисы удалось восстановить на третий день, но некоторые службы оказались недоступны с 10 по 17 января. На начальном этапе атаки разработчики не успели среагировать и попытаться противостоять проблеме на стороне своих серверов, так весь трафик к серверам SourceHut был полностью блокирован на стороне вышестоящего провайдера. Для обеспечения работы SourceHut использовались серверы в трёх датацентрах. В первом выполнялась рабочая конфигурация, второй использовался для резервного копирования, а третий применялся для экспериментов … Читать далее Платформа совместной разработки SourceHut была выведена из строя на 7 дней из-за DDoS-атаки

Samsung обеспечил поддержку формата изображений JPEG XL

Компания Samsung добавила поддержку формата изображений JPEG XL в приложение для работы с камерой, поставляемое в смартфонах Galaxy S24. Ранее в числе сторонников формата также выступили компании Apple, Facebook, Adobe, Mozilla, Intel, Krita, The Guardian, libvips, Cloudinary, Shopify и Free Software Foundation. До этого компания Google удалила экспериментальную реализацию JPEG XL из кодовой базы Chromium, мотивируя данное решение отсутствием достаточного интереса к формату со стороны экосистемы. Среди преимуществ JPEG XL упоминается снижение размера до 60% по сравнению с изображениями JPEG идентичного качества и наличие расширенных возможностей, таких как HDR, анимация, прозрачность, режим прогрессивной загрузки, плавное ухудшение качества при уменьшении битрейта, … Читать далее Samsung обеспечил поддержку формата изображений JPEG XL

В KDE улучшена поддержка масштабирования и добавлено автосохранение в Dolphin

Нейт Грэм (Nate Graham), разработчик, занимающийся контролем качества в проекте KDE, опубликовал отчёт о подготовке к релизу KDE 6, запланированному на 28 февраля. Кодовая база KDE Plasma 6.0 и KDE Gears 6.0 ответвлена в отдельный репозиторий, а в ветке master началось накопление изменений для KDE Plasma 6.1 и KDE Gears 24.05. Среди включённых в ветку master изменений (появятся в KDE Plasma 6.1 и KDE Gears 24.05): В файловом менеджере Dolphin обеспечено автоматическое сохранение открытых окон и вкладок, состояние которых теперь восстанавливается в случае аварийного завершения или перезапуска системы. Также добавлена возможность управления показом файлов корзины и резервных копий вместе со … Читать далее В KDE улучшена поддержка масштабирования и добавлено автосохранение в Dolphin

Выпуск Wayland-Protocols 1.33

После полугода разработки опубликован выпуск пакета wayland-protocols 1.33, содержащего набор протоколов и расширений, дополняющих возможности базового протокола Wayland и предоставляющих возможности, необходимые для построения композитных серверов и пользовательских окружений. Все протоколы последовательно проходят три фазы — разработка, тестирование и стабилизация. После завершения стадии разработки (категория «unstable«) протокол помещается в ветку «staging» и официально включается в состав набора wayland-protocols, а после завершения тестирования перемещается в категорию стабильных. Протоколы из категории «staging» уже можно применять в композитных серверах и клиентах, где требуется связанная с ними функциональность. В отличие от категории «unstable» в «staging» запрещено внесение изменений, нарушающих совместимость, но в случае выявление … Читать далее Выпуск Wayland-Protocols 1.33

Ханс Райзер прокомментировал перевод ReiserFS в разряд устаревших

В списке рассылки разработчиков ядра Linux опубликованы письма, полученные одним из разработчиков в ходе переписки с Хансом Райзером (Hans Reiser), в 2008 году приговорённым к пожизненному заключению за убийство своей жены в результате ссоры с последующей попыткой сокрытия преступления (в 2025 году Ханс сможет подать ходатайство на условно-досрочное освобождение). В опубликованных письмах Ханс сожалеет о своих ошибках при взаимодействии с сообществом разработчиков, рассуждает о переводе ReiserFS v3 в разряд устаревших в ядре Linux 6.6, анализирует историю разработки ReiserFS, упоминает надежды, связанные с продвижением ReiserFS v4, и поясняет реализованные в ReiserFS v4 технические решения. Комментируя решение об удалении ReiserFS из состава … Читать далее Ханс Райзер прокомментировал перевод ReiserFS в разряд устаревших

Выпуск Hangover 9.0, пакета для запуска Windows-приложений на системах ARM64

Опубликована новая ветка проекта Hangover, позволяющего запускать 32-разрядные Windows-приложения, собранные для архитектур x86 (i386) и ARM32, в окружениях на базе архитектуры ARM64 (Aarch64). В разработке находится реализация варианта Hangover для архитектуры RISC-V. Выпуск основан на кодовой базе Wine 9.0, что отражено в номере версии. Наработки проекта распространяются под лицензией LGPL-2.1. Проект позволяет добиться заметно более высокой производительности по сравнению с запуском Wine целиком в режиме эмуляции, так как при использовании Hangover эмулятор применяется только для выполнения кода самого приложения, а все системные вызовы, библиотеки и компоненты Wine выполняются вне эмулятора в родном для текущей платформы исполнении (Hangover разрывает цепочку эмуляции … Читать далее Выпуск Hangover 9.0, пакета для запуска Windows-приложений на системах ARM64