| · | 10.05.2026 | В Debian утверждена обязательная поддержка воспроизводимых сборок пакетов (23 +9) |
|
Команда, отвечающая за формирование релизов Debian, объявила о переводе воспроизводимой пересборки пакетов в число обязательных возможностей. Вчера в сборочную систему внесены изменения, блокирующие перенос в репозиторий новых пакетов, не поддерживающих воспроизводимую сборку. В репозитории testing также запрещено обновление существующих пакетов, в которых выявлены регрессии с воспроизводимостью сборки.
В Debian 13, насчитывающем 36427 исходных пакетов, поддержка повторяемых сборок составляет 96.9% для архитектуры x86_64 и 96.8% для архитектуры ARM64. В репозиториях Debian Testing уровень повторяемых сборок оценён в 94.5% для архитектуры ARM64 и 75.7% для x86_64 при пересборке 37809 исходных пакетов. Тест повторяемых сборок в репозитории Debian Testing провален для 1141 пакета (3%), а у 7952 пакетов (21%) возникли общие проблемы при компиляции из исходного кода. Повторяемые сборки дают возможность пользователю сформировать собственные сборки, побитово совпадающие с предлагаемыми для загрузки готовыми сборками. Пользователь может лично убедиться, что распространяемые в пакетах и загрузочных образах бинарные файлы собраны из предоставляемых исходных текстов и не содержат скрытых изменений. Проверка тождественности бинарной сборки позволяет не полагаться лишь на доверие к сборочной инфраструктуре дистрибутива, компрометация компилятора или сборочного инструментария в которой может привести к подстановке скрытых закладок. При формировании повторяемых сборок учитываются такие нюансы, как точное соответствие зависимостей; использование неизменного состава и версий сборочного инструментария; идентичный набор опций и настроек по умолчанию; сохранение порядка сборки файлов (применение тех же методов сортировки); отключение добавления компилятором непостоянной служебной информации, такой как случайные значения, ссылки на файловые пути и данные о дате и времени сборки. На воспроизводимость сборок также влияют ошибки и состояния гонки в инструментарии.
| ||
|
Обсуждение (23 +9) |
Тип: К сведению |
| ||
| · | 10.05.2026 | Опубликован музыкальный проигрыватель Nocturne 1.0 (22 –4) |
|
Представлен выпуск Nocturne 1.0, музыкального проигрывателя с возможностями управления музыкальной библиотекой и подключения к сетевым музыкальным сервисам. Код проекта написан на языке Python с использованием виджетов libadwaita и мультимедийной библиотеки gstreamer, и распространяется под лицензией GPLv3. Готовые сборки доступны в формате Flatpak.
Основные возможности:
Среди изменений в выпуске Nocturne 1.0:
![]() ![]() ![]()
| ||
|
Обсуждение (22 –4) |
Тип: Программы |
| ||
| · | 10.05.2026 | Бета-выпуск языка программирования Mojo 1.0 (46 +5) |
|
Представлен первый бета выпуск языка программирования Mojo 1.0, который ознаменовал стабилизацию языка и реализацию всех базовых возможностей. Выпуск оценивается как почти готовый к повсеместному использованию. Финальный релиз Mojo 1.0 ожидается в начале осени. Использование данной ветки позволит начать разрабатывать крупные проекты, не опасаясь появления в языке изменений, нарушающих совместимость.
В состав платформы включены компоненты, необходимые для разработки приложений на языке Mojo, включая компилятор, runtime, интерактивную REPL-оболочку для сборки и запуска программ, отладчик, дополнение к редактору кода Visual Studio Code (VS Code) с поддержкой автодополнения ввода, форматирования кода и подсветки синтаксиса, модуль для интеграции с Jupyter для сборки и запуска Mojo notebook. Исходный код стандартной библиотеки Mojo открыты под лицензией Apache 2.0 c исключениями от проекта LLVM, допускающими смешивание с кодом под лицензией GPLv2. Исходный код компилятора планируют открыть после завершения стабилизации внутренней архитектуры. Язык Mojo развивается под руководством Криса Латнера (Chris Lattner), основателя и главного архитектора проекта LLVM и создателя языка программирования Swift. Синтаксис Mojo основан на языке Python, а система типов близка к C/C++. Проект преподносится как язык общего назначения, расширяющий возможности языка Python средствами системного программирования, подходящий для широкого круга задач и сочетающий простоту применения для исследовательских разработок и быстрого создания прототипов с пригодностью для формирования высокопроизводительных конечных продуктов. Простота достигается благодаря использованию привычного синтаксиса языка Python, а разработке конечных продуктов способствуют возможность компиляции в машинный код, механизмы безопасной работы с памятью и задействование средств для аппаратного ускорения вычислений. Для достижения высокой производительности поддерживается распараллеливание вычислений с задействованием всех имеющихся в системе аппаратных ресурсов гетерогенных систем, таких как GPU, специализированные ускорители для машинного обучения и векторные процессорные инструкции (SIMD). При интенсивных вычислениях распараллеливание и задействование всех вычислительных ресурсов даёт возможность добиться производительности, превосходящей приложения на C/C++. Язык поддерживает статическую типизацию и средства для безопасной низкоуровневой работы с памятью, напоминающие возможности языка Rust, такие как отслеживание времени жизни ссылок и проверка заимствования переменных (borrow checker). При этом в языке доступны и возможности для низкоуровневой работы, например, возможно прямое обращение к памяти в режиме unsafe с использованием типа Pointer, вызов отдельных SIMD-инструкций или доступ к аппаратным расширениям, таким как TensorCores и AMX. Mojo может использоваться как в режиме интерпретации с использованием JIT, так и для компиляции в исполняемые файлы (AOT, ahead-of-time). В компилятор встроены современные технологии автоматической оптимизации, кэширования и распределённой компиляции. Исходный код на языке Mojo преобразуются в низкоуровневый промежуточный код MLIR (Multi-Level Intermediate Representation), развиваемый проектом LLVM. Компилятор позволяет применять для генерации машинного кода различные бэкенды, поддерживающие MLIR. Среди изменений в Mojo 1.0.0b1:
Одновременно сформирован выпуск движка MAX Framework 26.3, предлагающего платформу для разработок в области машинного обучения. MAX Framework дополняет инструментарий Mojo средствами для разработки и отладки приложений, использующих модели машинного обучения в различных форматах (TensorFlow, PyTorch, ONNX и т.п.). В новой версии MAX Framework добавлена возможность генерации видео, расширена поддержка работ с использованием нескольких GPU, значительно повышена производительность интерпретатора (некоторые операции стали выполняться быстрее в 10-20 раз).
| ||
|
Обсуждение (46 +5) |
Тип: Программы |
| ||
| · | 10.05.2026 | Выпуск lay, автокорректора слов, введённых не в той раскладке, для GNOME c Wayland (58 +5) |
|
Опубликован проект lay, помогающий исправлять слова, набранные с использованием не той раскладки клавиатуры, в GNOME-окружении на базе Wayland. Утилита исправляет последнее слово, набранное в неправильной русской или английской раскладке, по двойному нажатию клавиши Shift. Код написан на языке Rust и распространяется под лицензией MIT. На данной стадии развития программа имеет качество бета-версии - приветствуется отправка отчётов об ошибках.
Основной сценарий использования: пользователь набрал, например, "ghbdtn" вместо "привет", нажал Shift два раза, и слово перепечатывается в другой раскладке. Замена осуществляется по месту, без копирования текста через буфер обмена (программа симулирует нажатие клавиши Backspace для затирания ошибочно введённого слова и затем повторяет ввод в правильной раскладке). В смешанном тексте lay старается не трогать уже корректные соседние слова, например, "good ntrcn" будет преобразовано в "good текст", а "wi-fi ye" а wi-fi ну". Возможна точная автоподмена слов по пользовательскому словарю. Проект состоит из фонового процесса, который работает с evdev/uinput, и небольшого дополнения к GNOME Shell, обеспечивающего переключение раскладки в GNOME на базе Wayland. По умолчанию программа работает локально и не использует облако, буфер обмена или большие языковые модели. В качестве опции доступен экспериментальный режим "--smart", в котором для автоматического определения ошибочного ввода применяется локально выполняемая AI-модель. В состав также входит отдельная утилита командной строки для преобразования текста не в другой раскладке. Поддержка в настоящее время ориентирована на GNOME Wayland и русский/английский языки.
| ||
| · | 09.05.2026 | Уязвимость в системном вызове execve, предоставляющая root-доступ во FreeBSD (151 +26) |
|
Во FreeBSD выявлена уязвимость (CVE-2026-7270), позволяющая непривилегированному пользователю выполнить код с правами ядра и получить root-доступ к системе. Уязвимость затрагивает все выпуски FreeBSD, сформированные с 2013 года. В открытом доступе размещён эксплоит, работа которого проверена на системах с FreeBSD 11.0 по 14.4. Уязвимость устранена в обновлениях FreeBSD 15.0-RELEASE-p7, 14.4-RELEASE-p3, 14.3-RELEASE-p12 и 13.5-RELEASE-p13. Для более старых веток можно использовать патч.
Проблема вызвана переполнением буфера в системном вызове execve, возникающем при обработке префикса, указываемого в первой строке скриптов для определения пути к интерпретатору (например, "#!/bin/sh"). Переполнение возникает при вызове функции memmove из-за неверного составления математического выражения для вычисления размера копируемых в буфер аргументов. Вместо вычитания из "args->endp" значений "args->begin_argv" и "consume", из "args->endp" вычиталось только значение "args->begin_argv", а переменная consume прибавлялась к результату, а не вычиталась, т.е. в результате копировалось больше данных на два значения "consume". memmove(args->begin_argv + extend, args->begin_argv + consume, - args->endp - args->begin_argv + consume); + args->endp - (args->begin_argv + consume)); Переполнение позволяет перезаписать размещаемые в соседней области памяти элементы структуры "exec_map" от другого процесса. В эксплоите переполнение задействовано для перезаписи содержимого "exec_map" периодически запускаемых в системе привилегированных процессов. В качестве подобного процесса выбран sshd, который при каждой установке сетевого соединения ответвляет через вызов fork и execve процесс "/usr/libexec/sshd-session" с правами root. Эксплоит подставляет для данного процесса переменную окружения "LD_PRELOAD=/tmp/evil.so", приводящую к загрузке в контексте sshd-session своей библиотеки. Подставляемая библиотека создаёт в файловой системе исполняемый файл /tmp/rootsh с флагом suid root. Вероятность успешного переполнения оценивается в 0.6%, но благодаря цикличному повтору попыток, успешная эксплуатация достигается примерно за 6 секунд на системе с 4-ядерным CPU. ![]() Кроме того, во FreeBSD устранено ещё несколько уязвимостей:
| ||
|
Обсуждение (151 +26) |
Тип: Проблемы безопасности |
| ||
| · | 08.05.2026 | Предложен killswitch для экстренного отключения уязвимой функциональности в ядре Linux (93 +30) |
|
Саша Левин (Sasha Levin) из компании NVIDIA, занимающийся сопровождением LTS-веток ядра Linux и входящий в консультативный совет организации Linux Foundation, подготовил набор патчей с реализацией механизма killswitch для ядра Linux. Предложенная возможность позволяет мгновенно отключить доступ к определённой функциональности работающего ядра. Предполагается, что killswitch будет полезен для временного блокирования уязвимостей на время до установки обновления ядра с исправлением.
Управление killswitch осуществляется через файл "/sys/kernel/security/killswitch/control", позволяющий настроить перехват обращений к функциям ядра по их именам. Например, для блокирования уязвимости Copy Fail достаточно записать в управляющий файл команду "engage af_alg_sendmsg -1" для включения перехвата вызова функции af_alg_sendmsg и вместо её выполнения возвращения кода ошибки "-1". В качестве имён могут использоваться любые символы, поддерживаемые подсистемой kprobes. Многие из недавно найденных в ядре серьёзных уязвимостей присутствуют в подсистемах, используемых относительной небольшим числом пользователей (например, AF_ALG, ksmbd, nf_tables, vsock, ax25). Для большинства пользователей неудобство из-за прекращения работоспособности отдельных функций не сравнится с риском использования в работе ядра с известной неисправленной уязвимостью на время до установки исправления. Механизм killswitch особо актуален в контексте сегодняшней уязвимости Dirty Frag, эксплоит для которой был опубликован раньше, чем проблема была устранена в ядре.
| ||
|
Обсуждение (93 +30) |
Тип: К сведению |
| ||
| · | 08.05.2026 | Скомпрометирован официальный Twitter-канал Ubuntu (27 +16) |
|
Следом за DDoS-атакой на инфраструктуру компании Canonical злоумышленникам удалось получить контроль над каналом Ubuntu в социальной сети X.com (Twitter). В канале Ubuntu был размещён анонс AI-агента Numbat, который преподносился как децентрализованный AI, созданный на базе блокчейна и технологий криптовалюты Solana. Заявлялось, что AI-агент можно протестировать на сайте ai-ubuntu.com, который был зарегистрирован за несколько часов до размещения объявления. Оформление сайта было стилизовано под страницу ubuntu.com/ai, а в тексте использовались факты из анонсированного вице-президентом компании Canonical проекта по интеграции AI-технологий в Ubuntu.
Для скрытия IP-адреса сервера, доступ к нему был организован через сеть доставки контента Cloudflare. В настоящий момент анонс Numbat уже удалён с канала, а при попытке открытия сайта ai-ubuntu.com компания Cloudflare выводит предупреждение о фишинге. При открытии сайта ai-ubuntu.com пользователям предлагалось привязать свой криптовалютный кошелёк к платформе, а также объявлялось о скором запуске своего криптовалютного токена и предоставлении возможности принять участие в его распределении среди пользователей. ![]() ![]() ![]()
| ||
|
Обсуждение (27 +16) |
Тип: Проблемы безопасности |
| ||
| · | 08.05.2026 | Уязвимости Dirty Frag, изменяющие страничный кэш для получения root в любых дистрибутивах Linux (206 +33) ↻ |
|
В ядре Linux выявлены две уязвимости, по своей сути аналогичные несколько дней назад раскрытой уязвимости Copy Fail, но проявляющиеся в других подсистемах - xfrm-ESP и RxRPC. Серии уязвимостей присвоено кодовое имя Dirty Frag (также встречается упоминание Copy Fail 2). Уязвимости позволяют непривилегированному пользователю получить права root, перезаписав данные процесса в страничном кэше. Доступен эксплоит, работающий во всех актуальных дистрибутивах Linux. Информация об уязвимости раскрыта до публикации исправлений, но есть обходной метод блокирования проблемы.
Dirty Frag охватывает две разные уязвимости: первая в модуле xfrm-ESP, используемом для ускорения операций шифрования в IPsec с использованием протокола ESP (Encapsulating Security Payload), а вторая в драйвере RxRPC, реализующем семейство сокетов AF_RXRPC и одноимённый RPC-протокол, работающий поверх UDP. Каждая из уязвимостей по-отдельности позволяет добиться получения прав root. Уязвимость в xfrm-ESP проявляется в ядре Linux с января 2017 года, а уязвимость в RxRPC - с июня 2023 года. Обе проблемы вызваны оптимизациями, допускающими прямую запись в страничный кэш. Для эксплуатации уязвимости в xfrm-ESP у пользователя должны быть права на создание пространств имён, а для эксплуатации уязвимости в RxRPC должна быть возможность загрузки модуля ядра rxrpc.ko. Например, в Ubuntu в правилах AppArmor непривилегированному пользователю запрещено создание пространств имён, но по умолчанию загружается модуль rxrpc.ko. В каких-то дистрибутивах отсутствует модуль rxrpc.ko, но не блокируется создание пространств имён. Выявивший проблему исследователь подготовил комбинированный эксплоит, способный атаковать систему через обе уязвимости, что позволяет эксплуатировать проблему во всех крупных дистрибутивах. Работа эксплоита подтверждена в Ubuntu 24.04.4 с ядром 6.17.0-23, RHEL 10.1 с ядром 6.12.0-124.49.1, openSUSE Tumbleweed с ядром 7.0.2-1, CentOS Stream 10 c ядром 6.12.0-224, AlmaLinux 10 с ядром 6.12.0-124.52.3 и Fedora 44 с ядром 6.19.14-300. Как и в случае с уязвимостью Copy Fail, проблемы в xfrm-ESP и RxRPC вызваны выполнением расшифровки данных по месту c использованием функции splice(), передающей данные между файловыми дескрипторами и каналами (pipe) без копирования, путём передачи ссылок на элементы в страничном кэше. Смещения для операции записи рассчитывались без должных проверок, учитывающих использование прямой ссылки на элементы в страничном кэше, что позволяло через отправку специально оформленных запросов перезаписать 4 байта по выбранному смещению и изменить находящееся в страничном кэше содержимое любого файла. Все операции чтения из файлов в первую очередь отдают содержимое из страничного кэша. В случае модификации данных в страничном кэше операции чтения из файла приведут к возвращению не реально хранимой на накопителе информации, а подменённых данных. Эксплуатация уязвимости сводится к изменению страничного кэша для исполняемого файла с флагом suid root. Например, для получения прав root можно прочитать исполняемый файл /usr/bin/su для его помещения в страничный кэш, после чего добиться подстановки своего кода в загруженное в страничный кэш содержимого этого файла. Последующий запуск утилиты "su" приведёт к тому, что в память будет загружен не оригинальный исполняемый файл с накопителя, а изменённая копия из страничного кэша. Раскрытие информации об уязвимостях и скоординированный выпуск обновлений с устранением проблем было намечено на 12 мая, но из-за утечки информации сведения об уязвимости пришлось опубликовать до публикации исправлений. В конце апреля в публичном списке рассылки netdev были опубликованы патчи к rxrpc, ipsec и xfrm, без упоминания, что они связаны с устранением уязвимости. 5 мая мэйнтейнер подсистемы IPsec принял в git-репозиторий netdev изменение c предлагаемым исправлением в модуле xfrm-esp, описание к которому во многом повторяло описание проблемы, приведшей к уязвимости Copy Fail в модуле algif_aead. Один из исследователей безопасности заинтересовался этим исправлением, сумел создать рабочий эксплоит и опубликовал его, не зная о том, что на раскрытие сведений о проблеме до 12 мая введено эмбарго. Обновления с исправлениями для ядра Linux и пакетов с ядром в дистрибутивах пока не опубликованы, но доступны устраняющие проблемы патчи - xfrm-esp и rxrpc. CVE-идентификаторы не присвоены, что усложняет отслеживание обновления пакетов в дистрибутивах. В качестве обходного пути защиты можно заблокировать загрузку модулей ядра esp4, esp6 и rxrpc: sh -c "printf 'install esp4 /bin/false\ninstall esp6 /bin/false\ninstall rxrpc /bin/false\n' > /etc/modprobe.d/dirtyfrag.conf; rmmod esp4 esp6 rxrpc 2>/dev/null; true" Дополнение: Уязвимостям присвоены идентификаторы CVE-2026-43284 и CVE-2026-43500. Выпущены корректирующие релизы ядра Linux с устранением уязвимости в xfrm-esp (уязвимость в rxrpc остаётся неисправленной): 7.0.5, 6.18.28, 6.12.87, 6.6.138, 6.1.172, 5.15.206, 5.10.255. Статус устранения уязвимостей в дистрибутивах можно оценить на данных страницах: Debian, Ubuntu, SUSE/openSUSE, RHEL, Gentoo, Arch, Fedora, ROSA.
| ||
|
Обсуждение (206 +33) ↻ |
Тип: Проблемы безопасности |
Интересно
| ||
| · | 07.05.2026 | Релиз Mesa 26.1, свободной реализации OpenGL и Vulkan (82 +26) |
|
После трёх месяцев разработки представлен релиз свободной реализации API OpenGL и Vulkan - Mesa 26.1.0. Первый выпуск ветки Mesa 26.1.0 имеет экспериментальный статус - после проведения окончательной стабилизации кода будет выпущена стабильная версия 26.1.1.
В Mesa 26.1 доступна поддержка графического API Vulkan 1.4 в драйверах ANV для GPU Intel, RADV для GPU AMD, NVK для GPU NVIDIA, HoneyKrisp (hk) для GPU Apple, Turnip для GPU Qualcomm, PanVK для GPU ARM Mali, в программном растеризаторе lavapipe (lvp) и в режиме эмулятора (vn). В драйверах v3dv (GPU Broadcom VideoCore для Raspberry Pi 4+) и dzn (реализация Vulkan поверх Direct3D 12) поддерживается Vulkan 1.0, в драйвере kk (KosmicKrisp, Vulkan поверх Metal) - Vulkan 1.1, а драйвере pvr (GPU Imagination PowerVR) - Vulkan 1.2. В Mesa также обеспечивается полная поддержка OpenGL 4.6 для драйверов iris (GPU Intel Gen 8+), radeonsi (AMD), Crocus (старые GPU Intel Gen4-Gen7.5), AMD (r600), zink, llvmpipe, virgl (виртуальный GPU Virgil3D для QEMU/KVM), freedreno (Qualcomm Adreno), d3d12 (прослойка для организации работы OpenGL поверх DirectX 12) и asahi (GPU AGX, используемый в чипах Apple M1 и M2). Поддержка OpenGL 4.5 доступна для GPU NVIDIA (nvc0). Поддержка OpenGL 3.3 присутствует в драйверах softpipe (программный растеризатор) и nv50 (NVIDIA NV50). В драйверах panfrost (GPU ARM Mali) и v3d (GPU Broadcom VideoCore) поддерживается OpenGL 3.1. Основные новшества:
| ||
|
Обсуждение (82 +26) |
Тип: Программы |
| ||
| · | 06.05.2026 | Релиз Chrome 148 (109 –10) |
|
Компания Google опубликовала релиз web-браузера Chrome 148. Одновременно доступен стабильный выпуск свободного проекта Chromium, выступающего основой Chrome. Браузер Chrome отличается от Chromium использованием логотипов Google, наличием системы отправки уведомлений в случае краха, модулями для воспроизведения защищённого от копирования видеоконтента (DRM), системой автоматической установки обновлений, постоянным включением Sandbox-изоляции, поставкой ключей к Google API и передачей RLZ-параметров при поиске. Для тех, кому необходимо больше времени на обновление, отдельно поддерживается ветка Extended Stable, сопровождаемая 8 недель. Следующий выпуск Chrome 149 запланирован на 2 июня.
Основные изменения в Chrome 148 (1, 2, 3, 4):
Кроме нововведений и исправления ошибок в новой версии устранено 127 уязвимостей. Многие из уязвимостей выявлены в результате автоматизированного тестирования инструментами AddressSanitizer, MemorySanitizer, Control Flow Integrity, LibFuzzer и AFL. Трём проблемам (целочисленное переполнение в Blink, обращение к уже освобождённой памяти в Chromoting и Mobile) присвоен критический уровень опасности, подразумевающий, что уязвимости позволяют обойти все уровни защиты браузера и выполнить код в системе за пределами sandbox-окружения. В рамках программы по выплате денежного вознаграждения за обнаружение уязвимостей для текущего релиза компания Google учредила 26 премий и выплатила 138 тысяч долларов США (по одной премии в $55000, $43000 и $8000, две премии $16000). Размер 21 вознаграждения пока не определён.
| ||
|
Обсуждение (109 –10) |
Тип: Программы |
| ||
| · | 06.05.2026 | Атакующие получили 27 сертификатов, скомпрометировав ПК сотрудников удостоверяющего центра Digicert (66 +20) |
|
Удостоверяющий центр Digicert раскрыл информацию об инциденте с безопасностью, в результате которого злоумышленники смогли получить сертификаты, пригодные для формирования цифровых подписей к драйверам и приложениям для платформы Windows. Атакующие смогли организовать выполнение своего кода на двух компьютерах сотрудников Digicert, отправив в чат службы поддержки сообщения о проблеме c приложением ZIP-архива со скриншотами. Внутри архива был размещён исполняемый файл в формате scr, содержащий вредоносный код.
В ходе первой атаки, проведённой 2 апреля, четыре попытки доставки вредоносного кода были блокированы внутренними системами обеспечения безопасности, но одна оказалась успешной. Проблема была выявлена и блокирована 3 апреля. После получения жалоб от сторонних исследователей безопасности о выявлении вредоносных приложений, заверенного сертификатами Digicert, 14 апреля был инициирован повторный разбор, показавший, что 4 апреля была скомпрометирована ещё одна рабочая станция аналитика, которая была установлена три года назад и не содержала ПО CrowdStrike, применяемое в Digicert для выявления и блокирования атак. Добившись выполнения своего кода на внутренней системе атакующий получил доступ к порталу службы поддержки, на котором можно было просматривать заказы клиентов. Воспользовавшись данной возможностью атакующий узнал коды инициализации заявок на получение сертификатов "EV Code Signing", подтверждённых, но ещё не выданных клиентам. Данные коды были использованы для получения сертификатов от имени клиентов. По результатам разбора инцидента было отозвано 60 сертификатов, из которых для 27 удалось отследить прямую связь с атакующим, а 33 отозваны превентивно, так как для них не удалось подтвердить получение клиентом. Часть сертификатов атакующие успели применить для заверения цифровой подписью вредоносного ПО семейства "Zhong Stealer".
| ||
|
Обсуждение (66 +20) |
Тип: Проблемы безопасности |
| ||
| · | 06.05.2026 | Автор платформы Bun проводит эксперимент по переписыванию с Zig на Rust (131 –8) |
|
Джарред Самнер (Jarred Sumner), создатель и основной разработчик серверной JavaScript-платформы Bun, создал Git-ветку, в которой приступил к переписыванию Bun с языка Zig на Rust. Переписывание ведётся с использованием AI-ассистента Claude, для которого сформировано отдельное руководство по портированию. По словам Джарреда пока это лишь эксперимент, а не официальный порт, и высока вероятность, что дальше эксперимента дело не зайдёт и переписанный код не будет использован.
Портирование ещё не завершено, и на текущем этапе весь интерес к проекту сосредоточен на том, чтобы оценить насколько работоспособным получится порт, будет ли он проходить набор тестов основного проекта и сложно ли будет сопровождать новый код. В конечном счёте планируется провести сравнительное тестирование вариантов Bun на Zig и Rust. В декабре прошлого года проект Bun поглотила компания Anthropic, поэтому у Джарреда есть ресурсы для вовлечения в портирование передовых AI-моделей Claude. Платформа Bun применяется в продуктах Claude Code и Claude Agent SDK, и компания Anthropic заинтересована в повышении её качества и развитии. Bun является одним из самых успешных проектов на языке Zig, при этом у разработчиков Zig и Bun расходятся мнения в отношении применения AI в процессе разработки. В проекте Zig утверждён жёсткий запрет применения больших языковых моделей при подготовке pull-запросов, issue и комментариев (запрещён даже перевод через AI неанглоязычных комментариев). Введение подобных ограничений объясняется разработчиками Zig негативным опытом в рецензировании созданных через AI pull-запросов, которые отнимают ресурсы и время (например, отмечаются бессмысленные изменения, AI-галлюцинации и раздутые коммиты в 10 тысяч строк). Кроме того, проект Zig позиционирует себя как ориентированный на участников, а не вносимый ими вклад в разработку - главной целью принятия pull-запросов называется не добавление нового кода, а помощь в развитии новых участников. Автор Bun не согласен с запретом AI в Zig и полагает, что AI-слоп останется ностальгическим пережитком 2025 и 2026 годов, а разработка открытого ПО эволюционирует до запрета приёма кода от людей. Люди будут обсуждать проблемы, ставить задачи и расставлять приоритеты, а написание кода и отправка изменений в репозитории станет уделом AI. В качестве причины экспериментов с переписыванием на Rust также отмечается желание устранить проблемы в Bun, вызванные утечками памяти, и неприемлемая для крупных проектов политика Zig в отношении принятия в язык изменений, нарушающих совместимость. Из-за запрета применения AI разработчики Bun вынуждены поддерживать собственный форк инструментария Zig, в котором благодаря применению AI удалось в 4 раза ускорить компиляцию за счёт распараллеливания семантического анализа и генерации кода. При этом судя по комментарию одного из разработчиков Zig причина отклонения патчей не в AI, а в том, что распараллеливание семантического анализа затрагивает не только компилятор, но и сам язык - чтобы реализовать предложенную функциональность без ошибок и несовместимостей, требуется внесение изменений в язык Zig. Вместо распараллеливания, разработчики Zig развивают инкрементальную компиляцию, которая по их предположению позволит на порядок повысить скорость компиляции. JavaScript-платформа Bun развивается как высокопроизводительный аналог платформ Node.js и Deno. Проект разрабатывается с оглядкой на обеспечение совместимости с серверными приложениями для Node.js и поддерживает большую часть API Node.js. В состав платформы входит набор инструментов для создания и выполнения приложений на языках JavaScript и TypeScript, а также runtime для выполнения JavaScript-приложений без браузера, пакетный менеджер (совместимый с NPM), инструментарий для выполнения тестов, система сборки самодостаточных пакетов и прослойка для встраивания обработчиков, написанных на языке Си. По производительности Bun заметно обгоняет Deno и Node.js (в тестах на базе фреймворка React платформа Bun в 2 раза опережает Deno и почти в 5 раз Node.js). Для выполнения JavaScript задействован JavaScript-движок JavaScriptCore и компоненты проекта WebKit с дополнительными патчами.
| ||
|
Обсуждение (131 –8) |
Тип: К сведению |
| ||
| · | 06.05.2026 | Доменная зона DE на несколько часов была выведена из строя из-за DNSSEC (46 +17) |
|
Произошёл массовый сбой в работе доменной зоны "DE", применяемой в Германии. Проблемы возникли из-за ошибки в настройке DNSSEC для корневой зоны "DE", совершённой организацией DENIC, отвечающей за домен первого уровня "DE". С 5 мая 22:30 по 6 мая 1:30 (MSK) попытка резолвинга доменов в зоне "DE" через DNS-серверы, применяющие DNSSEC для проверки достоверности данных, завершалась ошибкой. На DNS-серверах, применяющих DNSSEC, сбой наблюдался и при резолвинге доменов, напрямую не использующих DNSSEC.
Проблема затронула многие DNS-резолверы провайдеров и публичные DNS-сервисы, такие как 1.1.1.1 и 8.8.8.8. В качестве временной меры компания Cloudflare в своём DNS-сервисе 1.1.1.1 отключила проверку подлинности через DNSSEC для доменов в зоне "DE". Пользователи DNS-резолверов, на которых DNSSEC отключён, не пострадали. Официально причины инцидента пока не объявлены. Предполагается, что проблема возникла из-за ошибки при обновлении цифровой подписи для зоны "DE", произведённом 5 мая в 20:49 (MSK). Применяемый для верификации домена первого уровня ключ является корнем доверия для остальных ключей, используемых в доменах второго уровня, и, в свою очередь, использует ключ домена "." в качестве вышестоящего для подтверждения своего доверия. В результате проведённой в доменной зоне "DE" операции криптографическая подпись (RRSIG - Resource Record Signature) для DNS-записи NSEC3 оказалась некорректной. Запись NSEC3 применяется для подтверждения подлинности DNS-ответов об отсутствии домена, чтобы исключить атаки по подстановке ответов NXDOMAIN для существующих доменов. В случае проблем с цифровой подписью для записи NSEC3 DNS-сервер не может удостовериться в подлинности хэшей с данными о существовании доменов и, соответственно, не может произвести проверку, считает ответ поддельным и на запросы о любом домене выдаёт ошибку.
| ||
|
Обсуждение (46 +17) |
Тип: К сведению |
| ||
| · | 05.05.2026 | Опубликована платформа Node.js 26.0.0 (47 +5) |
|
Состоялся релиз Node.js 26.0.0, платформы для выполнения сетевых приложений на языке JavaScript. Node.js 26.0 отнесён к веткам с длительным сроком поддержки, но данный статус будет присвоен только в октябре, после проведения стабилизации. Поддержка Node.js 26.x будет осуществляться до мая 2029 года. Сопровождение прошлой LTS-ветки Node.js 24.x будет осуществляться до 30 апреля 2028 года, а позапрошлой 22.x - до 30 апреля 2027 года. Сопровождение LTS-ветки 20.x прекращено 30 апреля 2026 года, а промежуточной ветки Node.js 25.x будет прекращено 1 июня 2026 года.
Основные улучшения:
Платформа Node.js может быть использована как для серверного сопровождения работы Web-приложений, так и для создания обычных клиентских и серверных сетевых программ. Для расширения функциональности приложений для Node.js подготовлена большая коллекция модулей, в которой можно найти модули с реализацией серверов и клиентов HTTP, SMTP, XMPP, DNS, FTP, IMAP, POP3, модули для интеграции с различными web-фреймворками, обработчики WebSocket и Ajax, коннекторы к СУБД (MySQL, PostgreSQL, SQLite, MongoDB), шаблонизаторы, CSS-движки, реализации криптоалгоритмов и систем авторизации (OAuth), XML-парсеры. Для обработки большого числа параллельных запросов Node.js задействует асинхронную модель запуска кода, основанную на обработке событий в неблокирующем режиме и определении callback-обработчиков. В качестве способов мультиплексирования соединений поддерживаются такие методы, как epoll, kqueue, /dev/poll и select. Для мультиплексирования соединений используется библиотека libuv, которая является надстройкой над libev в системах Unix и над IOCP в Windows. Для создания пула потоков (thread pool) задействована библиотека libeio, для выполнения DNS-запросов в неблокирующем режиме интегрирован c-ares. Все системные вызовы, вызывающие блокирование, выполняются внутри пула потоков и затем, как и обработчики сигналов, передают результат своей работы обратно через неименованный канал (pipe). Выполнение JavaScript-кода обеспечивается через задействование разработанного компанией Google движка V8. По своей сути Node.js похож на фреймворки Perl AnyEvent, Ruby Event Machine, Python asyncio и реализацию событий в Tcl, но цикл обработки событий (event loop) в Node.js скрыт от разработчика и напоминает обработку событий в web-приложении, работающем в браузере.
| ||
|
Обсуждение (47 +5) |
Тип: Программы |
| ||
| · | 05.05.2026 | Проект PHP перешёл на лицензию BSD-3 и изъял из обращения лицензию PHP License (79 +26) |
|
Разработчики языка программирования PHP направили в организацию OSI (Open Source Initiative) уведомление о добровольном выводе из обращения лицензии PHP License 3.01. Заявлено, что после нескольких лет работы код инструментария PHP полностью переведён на лицензию BSD-3 и в проекте больше не осталось кода под старой лицензией PHP License 3.01. Текст новой версии лицензии PHP License заменён на копию лицензии BSD-3.
Ранее интерпретатор PHP и движок Zend Engine распространялись под разными лицензиями PHP License и Zend Engine License. Переход на общую лицензию BSD-3 упростит условия лицензирования, обеспечит совместимость с GPL и решит давние проблемы, сохранив при этом все права пользователей и разработчиков. Ранее применявшиеся лицензии были признаны Фондом СПО несовместимыми с GPL из-за пункта, не позволяющего без получения письменного разрешения использовать слово PHP при продвижении производных продуктов. Изначально ветки PHP 1.x и 2.x поставлялись под лицензией GPLv2, но ветка PHP 3 была переведена на использование двух лицензий - PHP License и GPL. В PHP 4 лицензия была изменена ещё раз - основной код стал распространяться только под лицензией PHP License, а движок Zend Engine, являющийся основной интерпретатора PHP, был размещён в подкаталоге "Zend/" под отдельной лицензией Zend Engine License. Zend Engine License, как и PHP License, содержит ограничения в отношении использования слова Zend в производных продуктах, но дополнительно требует упоминания использования движка в рекламных материалах. После перехода на лицензию BSD-3 авторские права всех участников разработки сохранились, а права пользователей остались без изменений. Новая лицензия не налагает дополнительных ограничений и не ущемляет имеющихся прав по использованию, модификации и распространению продукта. Лицензии PHP и Zend основаны на тексте 4-пунктовой лицензии BSD и переход на лицензию BSD-3 лишь привёл к удалению пунктов, определяющих требования в отношении использования бренда "PHP", а также к прекращению действия условия, предписывающего упоминать об использовании свободного проекта PHP в производных продуктах. Cмена лицензии не потребовала получения отдельного согласия от каждого разработчика, так как в тексте лицензий PHP и Zend определены полномочия, позволяющие PHP Group вносить изменения в лицензию и выпускать новые версии лицензии. Для перехода на лицензию BSD-3 было достаточно одобрения членов PHP Group и получения письменного подтверждения от юристов компании Perforce Software, которой принадлежит компания Zend Technologies. Процесс перехода на новую лицензию оформлен как обновление кода до версий PHP License v4 и Zend Engine License v3, текст которых совпадает с текстом лицензии BSD-3.
| ||
|
Обсуждение (79 +26) |
Тип: К сведению |
| ||
| Следующая страница (раньше) >> | ||
|
Закладки на сайте Проследить за страницей |
Created 1996-2026 by Maxim Chirkov Добавить, Поддержать, Вебмастеру |