· | 01.06.2025 |
Инцидент с подменой коммитов в ветке ядра Linux от Кеса Кука (139 +36) ↻ |
|
Линус Торвальдс потребовал от администратора kernel.org немедленно заблокировать учётную запись Кеса Кука, бывшего главного сисадмина kernel.org и лидера Ubuntu Security Team, сопровождающего в ядре 14 подсистем, связанных с безопасностью. Константин Рябцев, отвечающий за работу инфраструктуры kernel.org, выполнил блокировку. Поводом для блокировки послужил pull-запрос на включение в ветку ядра 6.16 изменений, ссылающийся на git-репозиторий, в котором была изменена информация об авторстве некоторых коммитов.
В поддерживаемом Кесом git-репозитории присутствовали фиктивные изменения, в поле автора и коммитера в которых был указан "Linus Torvalds", но Линус их не добавлял. Например, под именем Линуса в ветке Кеса имелся коммит, который повторял другой коммит в ветке Линуса, но с другим хэшем SHA1. Оба коммита выглядят одинаково, за исключением информации о подписи.
Изменения не походили на случайную ошибку при выполнении операции "git rebase", так как содержали неверную информацию об авторе коммита.
Линус Торвальдс посчитал это следами потенциально вредоносной активности и инициировал блокировку приёма любых изменений от Кеса, до выяснения причин подобных манипуляций и подтверждения, что система Кеса не была скомпрометирована.
Кес ответил, что не понимает, как такое могло произойти. До этого он столкнулся с проблемами при попытке объединения нескольких своих git-веток, после чего попытался решить их операцией "git rebase", но похоже это не помогло. Всё это происходило на фоне сбоя SSD-накопителя, выдававшего ошибки во время копирования. Кес считал, что после сбоя ему удалось восстановить состояние своих репозиториев, но, судя по всему, это не так. Для восстановления целостности Кес намерен пересоздать свои ветки из отдельных патчей. В качестве наиболее вероятной причины возникшей подмены автора Кес считает неудачную попытку восстановления репозитория после его повреждения.
Линуса не устроило такое объяснение, так как, по его мнению, изменения истории коммитов в репозитории Кеса очень похожи на преднамеренные действия, а не на случайный сбой. Перебазирование истории изменений операцией "git rebase" могло объяснить перезапись коммитера, но Линус не может понять, как подобная операция "git rebase" могла быть совершена по ошибке.
Перезапись одного или двух коммитов ещё можно было списать на ошибку, но в репозитории Кеса были перезаписаны более шести тысяч merge-коммитов, из которых в 330 автором был выставлен Линус, при том, что данные коммиты не были получены из git-дерева Линуса. Совершённые изменения больше напоминают работу скрипта, чем результат повреждения информации на накопителе, так как они требуют отдельного пересоздания копии каждого коммита.
Кес уверил Линуса, что не делал этого специально и не стал бы проводить подобные эксперименты без предупреждения (например, прошлый эксперимент по вызову коллизий коммитов был согласован с Линусом). На этой неделе он производил несколько ручных операций с репозиторием и теперь попытается разобраться, что пошло не так, и воспроизвести проблему. Например, Кес выполнял операцию rebase для git-деревьев for-next/hardening и for-linus/hardening, используя в отличие от прошлых подобных преобразований ветку "master", а не rc2. В ходе данной операции он вносил изменения в скрипты для проверки push-запросов.
Дополнение 1: Кес Кук опубликовал ещё одно сообщение, в котором заявил, что вероятнее всего проблема возникла из-за использования утилиты "git-filter-repo", выполняющей перезапись истории коммитов в репозитории, в сочетании с командой "b4 trailers", предназначенной для получения и
применение трейлеров к коммитам (например, "Signed-off-by:").
Дополнение 2: Константин Рябцев, как автор утилиты b4,
подтвердил, что проблема вызвана неаккуратным использованием данной программы (Кес не обратил внимание на предупреждение в выводе и игнорировал некоторые проверки корректности). Константин на 100% уверен, что изменение произошло без злого умысла. Доступ Кеса к kernel.org восстановлен. В утилиту b4 будет добавлена проверка для предотвращения подобных ситуаций в будущем и запрета перезаписи коммитов, автор которых отличается от текущего пользователя.
- OpenNews: Университет Миннесоты отстранён от разработки ядра Linux за отправку сомнительных патчей
- OpenNews: Коллизии в сокращённых идентификаторах коммитов в ядре Linux
- OpenNews: Кейс Кук из Google призвал модернизировать процесс работы над ошибками в ядре Linux
- OpenNews: Проблемы с безопасностью в патчах, предложенных сотрудником Huawei для защиты ядра Linux
- OpenNews: Компрометация GitHub Actions-обработчика changed-files, применяемого в 23 тысячах репозиториев
|
|
Обсуждение (139 +36) ↻ |
Тип: К сведению |
Интересно
|
| |
· | 30.05.2025 |
Уязвимости в apport и systemd-coredump, позволяющие извлечь хэши паролей пользователей системы (166 +15) |
|
Компания Qualys выявила две уязвимости в инструментах apport (CVE-2025-5054) и systemd-coredump (CVE-2025-4598), применяемых для обработки core-файлов, генерируемых после аварийного завершения процессов. Уязвимости позволяют получить доступ к core-файлам, сохранённым после аварийного завершения suid-приложений или некоторых системных фоновых процессов, в памяти которых могут содержаться прокэшированные учётные данные или ключи шифрования. Утилита apport автоматически вызывается для сохранения core-дампов в Ubuntu, а systemd-coredump в Red Hat Enterprise Linux 9+, Fedora и многих других дистрибутивах Linux.
Продемонстрирована техника атаки, в ходе которой создавались условия для аварийного завершения suid-приложения unix_chkpwd и получения доступа к core-файлу с дампом состояния во время краха. В сохранённом core-дампе присутствовали хэши паролей пользователей системы, остававшиеся в памяти аварийно завершившегося процесса после загрузки содержимого /etc/shadow. Возможность эксплуатации уязвимостей продемонстрирована в Ubuntu 24.04 и Fedora 40/41, но предполагается, что и другие дистрибутивы подвержены подобным атакам.
Обе уязвимости вызваны состоянием гонки, позволяющим подменить аварийно завершившийся suid-процесс на другой процесс в момент после начала обработки ядром аварийного завершения, но до проверки обработчиком в пространстве пользователя параметров процесса через /proc/pid/files. Вызов apport и systemd-coredump осуществляется следующим образом: ядро, получив информацию об аварийном завершении процесса, вызывает обработчик,
указанный в файле /proc/sys/kernel/core_pattern, после чего передаёт ему содержимое core-дампа через входной поток.
Генерация core-дампа и запуск обработчика происходит не мгновенно и этого времени достаточно, чтобы подменить завершившийся suid-процесс на обычный процесс пользователя. В случае подмены запущенный обработчик core-дампов будет считать, что сбой произошёл не в suid-процессе, а в обычном пользовательском приложении и, соответственно, сохранит core-файл с возможностью доступа обычного пользователя, а не только администратора.
Атака на apport сводится к следующим шагам:
- Ответвляется новый процесс и вызывается функция execve() для запуска suid-программы, такой как unix_chkpwd.
- Пропускается время, необходимое для загрузки suid-программой конфиденциальных данных в память (в случае unix_chkpwd ожидается загрузка хэшей паролей всех пользователей системы из файла /etc/shadow).
- До окончания выполнения команды процессу отправляется сигнал SIGSEGV или SIGSYS для аварийного завершения.
- В ответ на аварийное завершение ядро формирует core-дамп и запускает процесс apport для обработки core-дампа в пространстве пользователя.
- После запуска apport, но до начала разбора аварийно завершившемуся процессу отправляется сигнал SIGKILL, а сам процесс заменяется на другой без флага suid. Для обхода проверок в apport новый процесс создаётся внутри отдельных пространств имён (user, pid и mount namespace).
- apport подключается к unix-сокету /run/apport.socket в созданном для нового процесса пространстве имён точек монтирования и отправляет файловый дескриптор для доступа к core-дампу.
Чтобы получить для нового процесса нужный идентификатор, совпадающий с идентификатором suid-процесса, до отправки сигнала SIGSEGV suid-процесс останавливается сигналом SIGSTOP и во время остановки циклично запускаются новые процессы, пока не будет получен PID с предшествующим номером, близким к подменяемому suid-процессу. После сдвига нумерации PID suid-процессу отправляются сигналы SIGSEGV и SIGCONT, после чего отправляется SIGKILL и циклично запускаются новые процессы для достижения того же PID, что и у suid-процесса.
Что касается systemd-coredump, то, с одной стороны, проведение атаки на него проще, так как нет необходимости заменять suid-процесс на процесс в отдельном пространстве пользователя и достаточно добиться совпадения AT_UID и AT_EUID. С другой стороны, systemd-coredump написан на языке Си и запускается достаточно быстро, что даёт меньше времени для подмены,
в отличие от apport, который написан на Python и в процессе инициализации грузит различные pyc-файлы. Подобная проблема решается искусственным замедлением systemd-coredump - при вызове suid-файла передаётся очень большое число аргументов командной строки, что создаёт нужную задержку, возникающую во время разбора /proc/pid/cmdline.
В процессе анализа уязвимостей исследователи также выявили, что
systemd-coredump при настройке вызова не указывает в /proc/sys/kernel/core_pattern флаг "%d", что позволяет атакующему вызвать аварийное завершение фоновых процессов, выполняемых с правами root и ответвляющих другие процессы с изменением идентификатора пользователя на непривилегированного пользователя, под которым совершается атака. Подобная возможность позволяет совершить атаку не только на setuid-приложения, но и на такие процессы, как sshd-session (OpenSSH), sd-pam (systemd) и cron, для получения осевших в их памяти конфиденциальных данных, таких как закрытые ключи, хэши паролей из /etc/shadow, канареечные метки из стека и данные для обхода рандомизации адресного пространства (ASLR).
Проследить за публикацией обновлений пакетов в дистрибутивах можно на страницах: Debian, Ubuntu, RHEL, openSUSE, Fedora, Gentoo, Arch, ROSA, Arch. В качестве обходного пути блокирования уязвимостей предлагается отключить сохранение core-дампов для suid-программ и сбрасывающих привилегии процессов, выставив параметр /proc/sys/fs/suid_dumpable в значение 0. Для полноценного устранения проблемы требуется внесение изменений в ядро Linux, реализующее возможность передачи информации об аварийно завершившемся процессе через механизм pidfd (pidfd связывается с конкретными процессами и в отличие от pid повторно не назначается).
- OpenNews: Уязвимость в systemd-coredump, позволяющая определить содержимое памяти suid-программ
- OpenNews: Критическая уязвимость в обработчике крахов приложений, применяемом в Ubuntu
- OpenNews: Уязвимость в CRI-O, позволяющая получить root-доступ к хост-окружению
- OpenNews: Уязвимости в утилите needrestart, позволяющие получить root-доступ в Ubuntu Server
- OpenNews: Выявлена возможность обхода ограничений доступа к "user namespace" в Ubuntu
|
|
Обсуждение (166 +15) |
Тип: Проблемы безопасности |
|
| |
· | 29.05.2025 |
Уязвимости в пакетах с Kea DHCP и cyrus-imapd, позволяющие повысить привилегии в системе (134 +6) |
|
В применяемых различными дистрибутивами конфигурациях DHCP-сервера Kea, развиваемого консорциумом ISC в качестве замены классического ISC DHCP, выявлены уязвимости, в некоторых ситуациях позволяющие локальному пользователю выполнить код с правами root или перезаписать любой файл в системе:
- CVE-2025-32801 - позволяет локальному пользователю получить root-привилегии в системах, в которых Kea запускается под пользователем root, или получить полный контроль над сервером Kea в системах, запускающих Kea под пользователем с урезанными привилегиями. Атака осуществляется через обращение к REST API, предоставляемому сервисом kea-ctrl-agent и по умолчанию принимающему запросы через localhost:8000. В большинстве конфигураций REST API доступен для всех локальных пользователей системы без прохождения аутентификации.
Эксплуатация осуществляется через отправку команды set-config, позволяющей управлять настройками всех сервисов Kea. Среди прочего команда может использоваться для изменения параметра "hooks-libraries", влияющего на загрузку дополнительных библиотек-обработчиков. Атакующий может добиться выполнения своего кода в контексте сервисов Kea через подстановку своей библиотеки, функция с атрибутом "constructor" из которой будет вызвана при открытии библиотеки функцией dlopen().
curl -X POST -H "Content-Type: application/json" \
-d '{ "command": "config-set", "arguments":
{ "Control-agent": {"hooks-libraries": [{"library": "/home/someuser/libexploit.so"}] }}}' \
localhost:8000
- CVE-2025-32802 - уязвимость даёт возможность использовать команду config-write в REST API для перезаписи любого файла в системе, насколько позволяют права пользователя, под которым выполняется Kea. Атакующий может контролировать записываемое содержимое, но данные записываются в формате JSON и должны включать корректные настройки Kea. Тем не менее, не исключается, что этого может быть достаточно для запуска команд с правами root через манипуляцию с файлами в каталоге /etc/profile.d.
curl -X POST -H "Content-Type: application/json" \
-d '{ "command": "config-write", "arguments": { "filename": "/etc/evil.conf" } }' \
localhost:8000
Отдельно упоминается несколько сценариев использования команды config-write для изменения настроек Kea. Например, можно перенаправить лог файлы в произвольное место файловой системы, организовать спуфинг управляющих UNIX-сокетов сервисов или блокировать работу Kea.
- CVE-2025-32803 - логи (/var/log/kea*.log), а также файлы /var/lib/kea/*.cvs, содержащие информацию о привязке IP-адресов (DHCP lease) и сопутствующие данные, доступны всем на чтение.
Запуск Kea с правами root практикуется в дистрибутивах Arch Linux,
Gentoo, openSUSE Tumbleweed (до 23 мая), FreeBSD, NetBSD (pkgsrc) и OpenBSD. В
Debian, Ubuntu и Fedora сервис запускался под отдельным непривилегированным пользователем. В Gentoo пакет с Kea доступен только в unstable-репозитории для архитектуры amd64. В Ubuntu, в отличие от других систем, сервис kea-ctrl-agent запускался только в случае указания в настройках доступа к REST API по паролю.
Проследить за публикацией обновлений пакетов в дистрибутивах можно на страницах: Debian, Ubuntu, RHEL, openSUSE, Fedora, Gentoo, ALT Linux, Arch, FreeBSD, OpenBSD и NetBSD.
Дополнительно можно отметить уязвимость (CVE-2025-23394), проявляющуюся в пакете с IMAP-сервером Cyrus, поставляемом проектом openSUSE в репозиториях Tumbleweed и Factory. Уязвимость даёт возможность локальному пользователю поднять привилегии с пользователя cyrus до root. Уязвимости присвоен критический уровень опасности (9.8 из 10), но он необоснованно завышен, так как для атаки требуется наличие прав cyrus, которые можно получить через эксплуатацию какой-то иной уязвимости в cyrus-imapd.
Проблема вызвана ошибкой при работе с символическими ссылками в скрипте daily-backup.sh, специфичном для дистрибутивов SUSE/openSUSE.
Суть уязвимости в том, что скрипт daily-backup.sh запускается с правами root, но производит запись в каталог /var/lib/imap, в котором может создавать файлы непривилегированный пользователь cyrus. Атака сводится к созданию символической ссылки, указывающей на системный файл (например, можно создать символическую ссылку /var/lib/imap/mailboxes.txt, указывающую на /etc/shadow). Уязвимость устранена в версии пакета cyrus-imapd 3.8.4-2.1.
- OpenNews: Опубликован DHCP-сервер Kea 1.6, развиваемый консорциумом ISC
- OpenNews: Удаленный запуск кода злоумышленником в Cyrus IMAP
- OpenNews: Критическая уязвимость в конфигурациях Postfix, использующих SASL-библиотеку Cyrus
- OpenNews: FastMail продолжит развитие Cyrus IMAP после сворачивания разработки в CMU
- OpenNews: Уязвимости в Cyrus IMAPd, Spring Framework, rsyslog, CUPS, OpenTTD, Wireshark, Tomcat, librsvg и QEMU
|
|
Обсуждение (134 +6) |
Тип: Проблемы безопасности |
|
| |
· | 28.05.2025 |
Выпуск web-браузера Chrome 137 (94 +1) |
|
Компания Google опубликовала релиз web-браузера Chrome 137. Одновременно доступен стабильный выпуск свободного проекта Chromium, выступающего основой Chrome. Браузер Chrome отличается от Chromium использованием логотипов Google, наличием системы отправки уведомлений в случае краха, модулями для воспроизведения защищённого от копирования видеоконтента (DRM), системой автоматической установки обновлений, постоянным включением Sandbox-изоляции, поставкой ключей к Google API и передачей RLZ-параметров при поиске. Для тех, кому необходимо больше времени на обновление, отдельно поддерживается ветка Extended Stable, сопровождаемая 8 недель. Следующий выпуск Chrome 138 запланирован на 24 июня.
Основные изменения в Chrome 137:
- В сборки для Windows и macOS интегрирован чат-бот Gemini, который может пояснять содержимое просматриваемой страницы и отвечать на связанные со страницей вопросы, не переключаясь с текущей вкладки. Поддерживается текстовое и голосовое взаимодействие с Gemini. Работа с чат-ботом пока доступна только части пользователей из США, имеющих подписки Google AI Pro и Ultra.
- По аналогии с ранее реализованным сегментированием хранилища, обеспечена изоляция обработки URL-схемы "blob:", предназначенной для доступа к локально сгенерированным данным через API Blob или File. При сегментировании к ключу, применяемому для извлечения объектов, прикрепляется отдельный признак, определяющий привязку к первичному домену, с которого открыта основная страница, что позволяет блокировать методы отслеживания перемещений пользователя между сайтами через манипуляцию с URL "blob:".
- В режиме расширенной защиты браузера (Safe Browsing > Enhanced protection) активирована возможность использования большой языковой модели для определения мошеннических страниц по их содержимому. AI-модель выполняется на стороне клиента, но в случае выявления подозрений на сомнительный контент, выполняется дополнительная проверка на серверах Google. В текущей версии пока производится только сбор информации о проблемных страницах. В следующем выпуске планируется начать выводить предупреждения пользователю.
- Включена защита от скрытой идентификации пользователей при помощи кэша HSTS (HTTP Strict Transport Security). HSTS позволяет сайтам при входе по HTTP перенаправить пользователя на HTTPS. В процессе работы имя хоста, выставленного через HSTS, сохраняется во внутреннем кэше, что позволяет использовать факт присутствия или отсутствия хоста в кэше для хранения одного бита информации. Для скрытого хранения 32-разрядного идентификатора пользователя можно использовать массив из 32 изображений, отдаваемых с разных хостов по HTTP (http://bit0.example.com/image.jpg, http://bit1.example.com/image.jpg и т.п.). Определение идентификатора производится путём проверки с каких хостов изображения загрузились по HTTPS, а с каких по HTTP (если изображения были отданы ранее по HTTP и через HSTS перенаправлены на HTTPS, то при последующих запросах они сразу будут загружены с HTTPS, минуя обращение по HTTP). Защита сводится к разрешению обновления HSTS только для ресурсов верхнего уровня и блокировке обновления HSTS в запросах субресурсов.
- Для соединений WebRTC реализована поддержка протокола DTLS 1.3 (Datagram Transport Layer Security, аналог TLS для UDP). Поддержка DTLS 1.3 необходима для использования алгоритмов постквантового шифрования в WebRTC.
- Удалена опция командной строки "--load-extension", позволяющая загружать дополнения. Опция убрана с целью снижения риска её использования для подстановки вредоносных дополнений. Для принудительной загрузки распакованных дополнений рекомендуется использовать кнопку Load Unpacked на странице управления дополнениями (chrome://extensions/) после включения режима для разработчика. В Chromium и тестовых сборках Chrome For Testing поддержка опции "--load-extension" сохранена.
- Решено отказаться от автоматического отката на использование для WebGL системы программной отрисовки SwiftShader, реализующей API Vulkan. В случае отсутствия должного бэкенда на базе GPU создание контекста WebGL теперь будет возвращать ошибку, а не переключаться на SwiftShader. Прекращение использования SwiftShader позволит повысить безопасность, благодаря исключению выполнения сгенерированного JIT-компилятором кода в процессе, отвечающем за взаимодействие с GPU. Для возвращения использования SwiftShader предусмотрена отдельная опция командной строки "--enable-unsafe-swiftshader". В версии Chrome 137 для пользователей платформ Linux и macOS при использовании SwiftShader в web-консоль будет выводиться предупреждение, а в Chrome 138 откат на Swiftshader будет отключён. Для пользователей Windows система SwiftShader заменена на встроенную в Windows систему программной отрисовки WARP (Windows Advanced Rasterization Platform).
- В настройки добавлена возможность включения функции "Autofill with AI", упрощающей заполнение web-форм. При включении браузер задействует AI-модель для понимания web-формы и автоматического заполнения полей, отталкиваясь от того, как ранее пользователь заполнял похожие формы.
- В API Web Cryptography добавлена поддержка криптоалгоритмов на базе эллиптической кривой Curve25519, таких как алгоритм формирования цифровых подписей Ed25519.
- Реализовано CSS-свойство "reading-flow", позволяющее управлять порядком обработки элементов во flex, grid и блочных контейнерах при использовании экранных ридеров и при последовательной навигации. Также добавлено свойство "reading-order", дающее возможность вручную переопределять порядок элементов.
- В CSS предложена функция "if()", предназначенная для выбора значений в зависимости от результата выполнения условных выражений. В качестве аргумента передаётся разделённый точкой с запятой список пар "условие:значение". Функция перебирает эти пары и останавливается при первом сработавшем условии. Например: "background-color: if(style(--color: white): black; else: white);".
- В CSS-свойстве offset-path реализована функция shape() для формирования фигур при помощи команд, эквивалентных функции path(), но позволяющих использовать для них стандартный синтаксис CSS.
- Добавлен API JSPI (JavaScript Promise Integration), обеспечивающий интеграцию WebAssembly-приложений с JavaScript-объектом Promise и позволяющий WebAssembly-программам выступать в роли генератора Promise и взаимодействовать с API на базе
Promise.
- В API CanvasRenderingContext2D, OffscreenCanvasRenderingContext2D и ImageData добавлена поддержка пиксельных форматов, использующих значения с плавающей запятой для представления составляющих цвета.
- В режиме Origin trials предложены экспериментальные API Rewriter и Writer, позволяющие переделывать (например, более кратко излагать суть или менять стиль повествования) или генерировать текст при помощи больших языковых моделей.
- В инструменты для web-разработчиков добавлена возможность привязки к рабочим пространствам, позволяющая сохранять в локальных файлах изменения, добавленные в JavaScript, HTML и CSS при работе со встроенными в браузер инструментами. Расширены возможности AI-ассистента, который может изменять CSS и анализировать производительность.
Кроме нововведений и исправления ошибок в новой версии устранены 11 уязвимостей. Многие из уязвимостей выявлены в результате автоматизированного тестирования инструментами AddressSanitizer, MemorySanitizer, Control Flow Integrity, LibFuzzer и AFL. Критических проблем, которые позволяют обойти все уровни защиты браузера и выполнить код в системе за пределами sandbox-окружения, не выявлено. В рамках программы по выплате денежного вознаграждения за обнаружение уязвимостей для текущего релиза компания Google выплатила 8 премии на сумму 7500 долларов США (по одной премии в $4000, $2000, $1000 и $500). Размер четырёх вознаграждений пока не определён.
- OpenNews: Выпуск web-браузера Chrome 136 с изоляцией стиля просмотренных ссылок
- OpenNews: Google отказался от навязывания блокировки сторонних Cookie в Chrome
- OpenNews: Браузер Chrome переведён на шрифтовой движок Skrifa, написанный на Rust
- OpenNews: Google отключил дополнение uBlock Origin в каталоге Chrome Web Store
- OpenNews: Инициатива по поддержке проектов, использующих движок Chromium
|
|
|
| |
· | 28.05.2025 |
Уязвимость в MCP-сервере GitHub, приводящая к утечке информации из приватных репозиториев (20 +13) |
|
В GitHub MCP Server, реализации протокола MCP (Model Context Protocol) от GitHub, выявлена уязвимость, позволяющая извлечь данные из приватных репозиториев пользователей, использующих AI-ассистенты для автоматизации работы с репозиториями.
Протокол MCP предназначен для связывания AI-моделей с различными источниками данных. GitHub MCP Server обеспечивает бесшовную интеграцию больших языковых моделей с API GitHub и предоставляет этим моделям дополнительный контекст, извлекая данные из GitHub-репозиториев. Использующие MCP модели могут применяться для автоматизации определённых действий с GitHub, например, для разбора сообщений об ошибках.
Суть уязвимости в том, что через взаимодействие с подключённой к GitHub большой языковой моделью можно добиться выдачи конфиденциальных данных о пользователе, привязавшем AI-агента к своей учётной записи на GitHub. Атакующий может разместить в публичном репозитории, для которого применяется автоматизация на основе большой языковой модели, специально оформленный отчёт о проблеме (issue). После активации модель сформирует pull-запрос с предлагаемым решением. Соответственно, если проблема касается приватных репозиториев или конфиденциальных данных, модель может раскрыть информацию в предложенном pull-запросе.
Для примера было отправлено сообщение об ошибке с жалобой на то, что в файле README не указан автор. В качестве решения в сообщении было предложено добавить в README сведения об авторе и список всех репозиториев, с которыми работал автор. В итоге модель создала pull-запрос с информацией, включающей персональную информацию об авторе, извлечённую из приватного репозитория, а также список имеющихся приватных репозиториев. На следующем этапе через подобное взаимодействие с моделью можно получить и данные из конкретного приватного репозитория.
Для активации AI-агента необходимо, чтобы владелец репозитория дал команду на разбор сообщений об ошибках. В случае, если GitHub связан с AI-сервисом Claude для раскрытия информации достаточно чтобы владелец репозитория отправил AI-ассистенту запрос вида "посмотри на issue в моих репозиториях с открытым кодом и устрани их". После этого AI-ассиcтент задействует настроенную MCP-интеграцию с учётной записью на GitHub и выполнит содержащиеся в сообщениях о проблемах инструкции.
- OpenNews: ArtPrompt - атака на AI-системы, позволяющая обойти фильтры при помощи ASCII-картинок
- OpenNews: Уязвимость в GitHub Actions, допускающая подстановку команд
- OpenNews: GitHub обновил GPG-ключи из-за уязвимости, приводящей к утечке переменных окружения
- OpenNews: Уязвимость в GitHub Enterprise Server, дающая права администратора без аутентификации
- OpenNews: Проблемы из-за подготовленных AI-инструментами отчётов об уязвимостях
|
|
Обсуждение (20 +13) |
Тип: Проблемы безопасности |
|
| |
· | 27.05.2025 |
Доступен дистрибутив AlmaLinux 10.0 (79 +8) |
|
Представлен релиз дистрибутива AlmaLinux 10.0, синхронизированный c Red Hat Enterprise Linux 10.0 и содержащий все предложенные в данном выпуске изменения. Установочные образы подготовлены для архитектур x86_64_v3, x86_64_v2, ARM64, ppc64le и s390x в форме загрузочного (864 МБ), минимального (1.4 ГБ) и полного образа (7.3 ГБ). Позднее будут сформированы Live-сборки с GNOME, KDE, MATE и Xfce, а также образы для плат Raspberry Pi, контейнеров, WSL (Windows Subsystem for Linux) и облачных платформ.
Дистрибутив по возможности бинарно совместим с Red Hat Enterprise Linux и может использоваться в качестве замены RHEL 10 и CentOS 10 Stream. Помимо ребрендинга и удаления специфичных для RHEL пакетов в AlmaLinux 10.0 отмечены следующие отличия от RHEL 10:
- Сформированы отдельные сборки для второй версии микроархитектуры x86-64 (x86-64-v2), которые сопровождаются параллельно с базовыми сборками x86-64, формируемыми с оптимизациями для микроархитектуры x86-64-v3, которая используется в RHEL 10. Дополнительная поддержка x86-64-v2 позволяет обеспечить совместимость с CPU старее Intel Haswell и AMD Excavator, спроектированными до 2013 года. Помимо штатных репозиториев сборки x86-64-v2 также подготовлены и для пакетов из репозитория EPEL.
- Возвращено использование процессорного регистра %rbp в качестве базового указателя на кадр стека, содержащий адреса возврата и переменные функции (frame pointer). Использование указателя на кадры стека позволяет использовать в дистрибутиве дополнительные возможности для трассировки и профилирования системы.
- Возвращены серверные и клиентские реализации протокола SPICE, позволяющего организовать удаленную работу с рабочим столом, функционирующим в виртуальном окружении под управлением QEMU/KVM. В отличие от протоколов VNC и RDP в SPICE отрисовка содержимого экрана и обработка аудиопотоков производится на стороне клиента, а не на сервере. В RHEL поддержка SPICE была прекращена в выпуске 9.0.
- Реализована возможность использования гипервизора KVM на системах с процессорами IBM POWER. В RHEL подобная поддержка была прекращена в ветке 9.0.
- Реализована возможность загрузки в режиме UEFI Secure Boot для систем с процессорами Intel/AMD и ARM.
- Возобновлена поддержка более 150 аппаратных устройств, не поддерживаемых в RHEL 10. Например, возвращены идентификаторы старых PCI-устройств в драйверах:
- aacraid - Dell PERC2, 2/Si, 3/Si, 3/Di, Adaptec Advanced Raid Products, HP NetRAID-4M, IBM ServeRAID & ICP SCSI
- be2iscsi - Emulex OneConnectOpen-iSCSI для BladeEngine 2 и 3
- be2net - Emulex BladeEngine 2 and 3 adapters *
- hpsa - HP Smart Array Controller
- lpfc - Emulex LightPulse Fibre Channel SCSI
- megaraid_sas - Broadcom MegaRAID SAS
- mlx4_core - Mellanox Gen2 и ConnectX-2
- mpt3sas - LSI MPT Fusion SAS 3.0
- mptsas - Fusion MPT SAS Host
- qla2xxx - QLogic Fibre Channel HBA
- qla4xxx - QLogic iSCSI HBA.
Дистрибутив AlmaLinux основан компанией CloudLinux в ответ на преждевременное сворачивание поддержки CentOS 8 компанией Red Hat (выпуск обновлений для CentOS 8 прекращён в конце 2021 года, а не в 2029 году, как предполагали пользователи). Проект курирует отдельная некоммерческая организация AlmaLinux OS Foundation, которая была создана для разработки на нейтральной площадке с участием сообщества и c использованием модели управления, похожей на организацию работы проекта Fedora. Дистрибутив бесплатен для всех категорий пользователей. Все наработки AlmaLinux публикуются под свободными лицензиями.
Кроме AlmaLinux, в качестве альтернатив классическому CentOS также позиционируются Rocky Linux (развивается сообществом под руководством основателя CentOS), Oracle Linux, SUSE Liberty Linux и EuroLinux. Кроме того, компания Red Hat предоставила возможность бесплатного использования RHEL в организациях, развивающих открытое ПО, и в окружениях индивидуальных разработчиков, насчитывающих до 16 виртуальных или физических систем.
- OpenNews: Релиз дистрибутива Red Hat Enterprise Linux 10
- OpenNews: Компания Oracle опубликовала ядро Unbreakable Enterprise Kernel 8
- OpenNews: Бета-выпуск дистрибутива AlmaLinux 10.0, синхронизированного с RHEL 10
- OpenNews: Обновление дистрибутива AlmaLinux Kitten 10, основанного на CentOS Stream
- OpenNews: Опубликован дистрибутив AlmaLinux 9.6
|
|
|
| |
· | 27.05.2025 |
Релиз Firefox 139 (124 +24) |
|
Состоялся релиз web-браузера Firefox 139 и сформированы обновления прошлых веток с длительным сроком поддержки - 115.24.0 и 128.11.0. На стадию бета-тестирования переведена ветка Firefox 140, релиз которой намечен на 24 июня.
Основные новшества в Firefox 139:
- Добавлена возможность назначения собственного фонового изображения или выбора цвета фона для страницы, показываемой при открытии новой вкладки. Функция пока по умолчанию включена не для всех и постепенно будет активироваться для всё большего процента пользователей. Для принудительного включения можно использовать раздел настроек "Firefox Labs" (about:settings#experimental). В новом выпуске также добавлены новые типовые фоновые изображений и предложена новая категория обоев "Celestial".
- Добавлена экспериментальная поддержка предпросмотра ссылок на странице - если удерживая Alt+Shift навести курсор на ссылку, появится всплывающее окно с информацией о странице, на которую указывает ссылка. Информация включает заголовок, изображение и краткий отчёт о содержимом, сгенерированный большой языковой моделью (задействован встроенный AI-ассистент, выполняемый на системе пользователя). Возможность включается через секцию "Firefox Labs" (about:settings#experimental).
- Функция перевода с одного языка на другой теперь работает не только на web-страницах, но и на внутренних страницах дополнений, доступных через URL "moz-extension://".
- Значительно повышена производительность загрузки данных при использовании HTTP/3, что особенно заметно при возобновлении соединения (QUIC 0-RTT) и на каналах связи с высокой пропускной способностью и большими задержками.
- В связи с переходом Chrome к шифрованию конфиденциальных данных пользователя на платформе Windows, прекращена поддержка прямой миграции паролей и методов платежей из Chrome. Для переноса паролей из Chrome теперь необходимо вручную выполнить экспорт паролей в формате CSV и загрузить полученный файл в Firefox.
- 10 июня будет прекращена работа сервиса Review Checker (Fakespot), а 8 июля сервиса Pocket.
- Включён по умолчанию объект Temporal, предлагающий альтернативный набор методов для работы с датами и временем. Новый API позволяет манипулировать датами с учётом и без учёта часовых поясов, конвертировать время, форматировать вывод и выполнять арифметические операции со временем. Время может задаваться в независимом от часового пояса представлении (Temporal.PlainDate, Temporal.PlainTime, Temporal.PlainDateTime), с привязкой к часовому поясу (Temporal.ZonedDateTime) и в эпохальном представлении (Temporal.Instant - число наносекунд с 1 января 1970 года).
- Добавлена возможность урезания точности таймера для Worker-ов.
- Операции поиска на странице теперь охватывают содержимое HTML-блоков "<details>". Если искомая фраза присутствует в блоке, то при поиске он автоматически раскрывается.
- Для атрибута "hidden" предложен новый флаг "until-found", который делает элемент доступным для поиска на странице и прокрутки по текстовой маске. Например, можно добавить на страницу скрытый текст, содержимое которого будет находиться при локальном поиске.
- В методе window.getSelection().toString() обеспечена корректная сериализация текста, выделенного в текстовых формах.
- Для WebAuthn реализованы расширения largeBlob и credProps, предназначенные для сохранения и извлечения дополнительных данных, связанных с учётной записью пользователя.
- В API HTMLDialogElement добавлен метод requestClose(), инициирующий закрытие диалога на базе HTML-элемента <dialog>. В отличие от метода Close() новый метод даёт возможность отмены закрытия через добавление обработчика события "cancel".
- Поведение встроенного редактора для contenteditable и designMode приближено к Chrome в плане обработки пробелов перед границей блока и между видимым содержимым (Firefox больше не добавляет элемент <br> после пробела перед границей блока).
- В инструментах для web-разработчиков обеспечено сохранение настроек фильтра в панели инспектирования сети между разными сеансами. В отладчике JavaScript улучшено оформление строки, на которой остановлено выполнение, а корневой каталог ограничен выбранным доменом.
- В версии для платформы Android реализована поддержка сортировки закладок, улучшен интерфейс управления загрузками, расширены возможности ленты новостей и началась реализация поддержки фреймворка JetPack Compose.
Кроме новшеств и исправления ошибок в Firefox 139 устранено 14 уязвимостей. 8 уязвимостей вызваны проблемами работы с памятью, такими как переполнения буферов и обращение к уже освобождённым областям памяти. Потенциально данные проблемы способны привести к выполнению кода злоумышленника при открытии специально оформленных страниц. Одной проблеме (CVE-2025-5262) присвоен критический уровень опасности. Уязвимость вызвана двойным освобождением памяти (double-free) в коде кодировщика libvpx, поддерживающего форматы VP8 и VP9, и может быть эксплуатирована через WebRTC.
В бета-версии Firefox 140 в контекстное меню, показываемое при клике правой кнопкой мыши на вкладке, добавлен пункт "Unload Tab", позволяющий выгрузить вкладку из памяти для снижения потребляемых ресурсов (в прошлых версиях включается через настройку browser.tabs.unloadTabInContextMenu в about:config). В панели вертикальных вкладок реализована возможность изменения размера области закреплённых вкладок. Предоставлена возможность добавления собственных поисковых движков (Settings > Search > Add).
- OpenNews: Релиз Firefox 138
- OpenNews: В Firefox предложен для тестирования встроенный AI-ассистент
- OpenNews: Mozilla переходит к поставке Firefox с условиями использования
- OpenNews: Релиз Firefox 137 с поддержкой группировки вкладок
- OpenNews: Разработка Firefox перенесена с Mercurial на Git и GitHub. Обновление Firefox 138.0.3
|
|
|
| |
· | 27.05.2025 |
Google оценил возможности квантового компьютера, необходимые для взлома RSA-2048 (165 +23) |
|
Компания Google опубликовала результаты прогнозирования возможностей квантового компьютера, необходимого для успешной факторизации параметров 2048-битных RSA-ключей. В ходе исследования был сделан вывод, что теоретически взлом ключа RSA-2048 может быть осуществлён за неделю вычислений на квантовом компьютере, имеющим миллион неидеальных ("шумных") кубитов. На текущем этапе развития квантовые компьютеры позволяют использовать от 100 до 1000 кубитов с необходимым для проведения атаки уровнем ошибок (0.1%).
Примечательно, что заявленное Google число кубитов в 20 раз меньше, чем прогнозировалось в 2019 году. Число необходимых для атаки кубитов удалось снизить за счёт оптимизации алгоритма прогнозирования возведения в степень по модулю и задействования техники послойной коррекции ошибок. Национальный институт стандартов и технологий США (NIST) намерен признать не стойкие для подбора на квантовых компьютерах алгоритмы устаревшими в 2030 году и запретить их использование после 2035 года.
В основе шифрования RSA лежит операция возведения в степень по модулю большого числа. В открытом ключе содержится модуль и степень. Модуль формируется на основании двух случайных простых чисел, которые известны только владельцу закрытого ключа. Квантовые компьютеры позволяют эффективно решать задачу разложения числа на простые множители, что может использоваться для синтеза закрытого ключа на основе открытого.
- OpenNews: Воссоздание RSA-ключей через анализ SSH-соединений к сбойным серверам
- OpenNews: Атака Marvin для расшифровки RSA на основе измерения времени операций
- OpenNews: Предложен метод взлома ключей RSA-2048 на современном квантовом компьютере
- OpenNews: NIST стандартизировал три алгоритма постквантового шифрования
- OpenNews: Рассчитаны параметры квантового компьютера для взлома ключей, используемых в Bitcoin
|
|
Обсуждение (165 +23) |
Тип: Проблемы безопасности |
|
| |
· | 27.05.2025 |
Выпуск Armbian 25.5 и DietPi 9.13, дистрибутивов для одноплатных компьютеров (47 +10) |
|
Опубликован выпуск Linux-дистрибутива Armbian 25.5, предоставляющего компактное системное окружение для одноплатных компьютеров с процессорами на базе архитектур ARM, RISC-V и x86, поддерживающее различные модели Raspberry Pi, Odroid, Orange Pi, Banana Pi, Helios64, pine64, Nanopi и Cubieboard на базе процессоров Allwinner, Amlogic, Actionsemi, Freescale / NXP, Marvell Armada, Rockchip, Radxa и Samsung Exynos.
Для формирования сборок используются пакетные базы Debian и Ubuntu, но все компоненты полностью пересобирается при помощи собственной сборочной системы с включением оптимизаций для уменьшения размера, увеличения производительности и применения дополнительных механизмов защиты. Например, раздел /var/log монтируется с использованием zram и хранится в ОЗУ в сжатом виде со сбросом данных на накопитель раз в день или при завершении работы. Раздел /tmp монтируется при помощи tmpfs.
Проектом поддерживается более 30 вариантов сборок ядра Linux для разных платформ ARM и ARM64. Предоставляется SDK для упрощения создания своих системных образов, пакетов и редакций дистрибутива. Для подкачки используется ZSWAP. При входе по SSH предоставляется опция для использования двухфакторной аутентификации. В состав входит эмулятор box64, позволяющий запускать программы, собранные для процессоров на базе архитектуры x86. Предлагаются готовые пакеты для запуска пользовательских окружений на базе KDE, GNOME, Budgie, Cinnamon, i3wm, Mate, Xfce и Xmonad.
Основные изменения в Armbian 25.5:
- Обеспечена официальная поддержка плат Banana Pi M2 и Mekotronics r58/r58x.
- Добавлена поддержка плат TI SK-AM69, BeagleBoard PocketBeagle2, BeagleBone AI-64, BeaglePlay, Qcom Robotics RB5, Radxa Cubie A5E, SMART AM40, NanoPi R2S Plus, Mediatek Genio и Radxa Nio-12L.
- Для плат на чипах Rockchip, таких как Rock 5B и Youyeetoo R1 реализована поддержка HDMI и звука.
- Улучшена поддержка плат BananaPi BPI-M4-Zero, BananaPi SM1, BigTreeTech CB2, MBa8MPxL, Nano pi r3s, Radxa Zero3, Rock 3a, Odroid XU4, Orange Pi 5/5b/pro, Raspberry Pi, Rock5, Station p2/m3.
- Существенно модернизирована и переведена на модульную архитектуру утилита armbian-config, применяемая для настройки системы после установки. Интегрирована функция библиотеки приложений, позволяющая запускать изолированные окружения с популярными приложениями (Home Assistant, Stirling PDF, Navidrome, Grafana, NetData, Immich) непосредственно из интерфейса armbian-config. В сетевом конфигураторе улучшено определение точек доступа Wi-Fi и упрощена настройка сетевого интерфейса. Обеспечена динамическая загрузки специфичных для плат компонентов и улучшен интерфейс для переключения между BSP (Board Support Package).
- Ядро Linux для плат на чипах Rockchip обновлено до версии 6.14. Предоставлены настройки для управления включением патчей, позволяющие собрать немодифицированный вариант ядра.
- Загрузчик U-Boot обновлён до версии 2025.01.
- Добавлена поддержка подразделов Btrfs.
- Реализована возможность настройки выравнивания разделов EFI для работы на устройствах с UFS.
- Улучшена поддержка доступа к консоли через последовательный порт.
- В базовый состав включены утилиты e2fspros.
- В сборочный инструментарий добавлена возможность включения поддержки ZFS, ZRAM и Docker.
- Добавлены пакеты Home Assistant, Zerotier VPN, AdGuardHome, Unbound DNS.
- Упрощён инструментарий для ведения логов и улучшены средства для диагностики проблем.
Дополнительно можно отметить формирование выпуска DietPi 9.13, дистрибутива для одноплатных ПК на базе архитектур 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. Инструментарий для сборки и сопровождения дистрибутива распространяется под лицензией GPLv2.
Проект оптимизирован для минимального потребления ресурсов и развивает несколько собственных утилит: интерфейс для установки приложений DietPi-Software, конфигуратор DietPi-Config, система резервного копирования DietPi-Backup, механизм ведения временных логов DietPi-Ramlog (также поддерживается rsyslog), интерфейс для установки приоритетов выполнения процессов DietPi-Services и система доставки обновлений DietPi-Update. Утилиты предоставляют консольный интерфейс пользователя с меню и диалогами на базе whiptail. Поддерживается режим полной автоматизации установки, позволяющий провести инсталляцию на платы без участия пользователя.
Среди изменений в DietPi 9.13:
- Добавлен запрос обязательной смены паролей для пользователей по умолчанию и dietpi-software. В ранее установленных системах подобный запрос будет выведен в процессе обновления, если в них продолжают использоваться пароли по умолчанию.
- Из системного окружения исключены утилиты unzip, 7zip и bzip2, которые теперь будут автоматически устанавливаться при необходимости.
- Для плат Orange Pi 3B реализовано управление кулером.
- Для плат Radxa ZERO 3 осуществлён переход на вариант ядра Linux 6.1, предлагаемый производителем.
- Для плат ASUS Tinker Board 2 решена проблема с изменением MAC-адреса при каждом перезапуске.
- В образах для виртуальных машин пакет tiny-initramfs заменён на initramfs-tools, позволяющий генерировать более компактные образы initramfs (~1 MiB вместо ~35 MiB) за счёт включения только используемых модулей ядра.
- В интерфейсе настройки после первой загрузки упрощён диалог выбора раскладки клавиатуры (вместо многоэтапного процесса выбора предложен простой список доступных опций и отдельная секция с расширенными настройками).
- В менеджере приложений DietPi-Software реализована поддержка установки платформы совместной разработки Gitea на системах с процессорами RISC-V.
- Прекращена поставка пакетов Google AIY Voice Kit и Mycroft AI, разработка которых прекращена производителями.
- OpenNews: Обновление дистрибутива для одноплатных ПК DietPi 9.12
- OpenNews: Новая версия дистрибутива Raspberry Pi OS
- OpenNews: Выпуск Armbian 25.2, дистрибутива для одноплатных компьютеров
|
|
|
| |
· | 26.05.2025 |
Релиз ядра Linux 6.15 (294 +31) |
|
После двух месяцев разработки Линус Торвальдс представил релиз ядра Linux 6.15. Среди наиболее заметных изменений: механизм аудита в Landlock, режим закрепления маппинга памяти, подсистема fwctl, драйвер Nova для GPU NVIDIA, реализация хост-системы для гипервизора Hyper-V, поддержка зонированных устройств хранения в XFS, оптимизация сетевой подсистемы, удаление опции HIGHMEM64G, scrub-проверка в Bcachefs, возможность контроля над операциями через io_uring.
В новую версию принято 15945 исправлений от 2154 разработчиков,
размер патча - 59 МБ (изменения затронули 13596 файлов, добавлено 739608 строк кода, удалено 312168 строк). В прошлом выпуске было 12115 исправлений от 1984 разработчиков, размер патча - 39 МБ. Около 41% всех представленных в 6.15 изменений связаны с драйверами устройств, примерно 16% изменений имеют отношение к обновлению кода, специфичного для аппаратных архитектур, 13% связано с сетевым стеком, 5% - с файловыми системами и 4% c внутренними подсистемами ядра.
Основные новшества в ядре 6.15:
- Дисковая подсистема, ввод/вывод и файловые системы
- В механизм fanotify добавлена возможность отслеживания событий монтирования и отмонтирования.
- В XFS добавлена поддержка зонированных устройств хранения (разделение на зоны групп блоков или секторов, в которые допускается лишь последовательное добавление данных с обновлением целиком всей группы блоков). Добавлен флаг rwf_dontcache для отключения кэширования при записи. Реализована возможность атомарной записи сразу нескольких блоков данных.
- В Btrfs реализована возможность указания при монтировании отрицательных уровней сжатия zstd (от -15 до -1, например, "compress=zstd:-5"), обеспечивающих более высокую скорость работы ценой снижения эффективности сжатия. Улучшено кэширование файловых путей (в проведённом тесте выполнение операции "send" ускорилось на 30%). Добавлена поддержка блоков размером 2Кб.
- В EXT4 повышена производительность при воспроизведении журнала с очень большим числом отозванных записей (нагрузка, свойственная разделам под ФС Lustre). Реализован линейный поиск записей "dentry" (внутреннее представление элементов каталогов), решающий проблемы с доступом к некоторым файлам в режиме без учёта регистра символов. Налажена работа опции монтирования "errors=remount-ro". Повышена стойкость при обработке повреждённых ФС.
- В F2FS реализован ioctl для получения сведений о приоритете операции ввода/вывода для заданного файла. Проведена работа по переходу на использование фолиантов страниц памяти (page folios).
- В Bcachefs добавлен режим "scrub", при котором осуществляется проверка корректности чтения всех данных и метаданных из ФС. В случае выявления ошибок запускается процедура восстановления. В Bcachefs также добавлена поддержка работы с ФС, размер блока в которых больше, чем размер страницы памяти. Стабилизирован формат дисковых структур Bcachefs (дальнейшие изменения формата будут реализовываться в форме опциональных дополнений).
- В EROFS добавлена поддержка 48-разрядной адресации блоков.
- В подсистеме FUSE реализованы sysctl default_request_timeout и max_request_timeout для задания таймаутов на выполнение запросов, что позволяет отслеживать зависания компонентов FUSE, работающих в пространстве пользователя. Максимальный размер имён файлов в FUSE увеличен до 1024 символов.
- В системный вызов statmount() добавлена возможность получения информации о маппинге идентификаторов пользователей примонтированных файловых систем, применяемом для сопоставления файлов определённого пользователя на примонтированном чужом разделе с другим пользователем в текущей системе.
- Релизована возможность создания точки монтирования с иным маппингом идентификаторов пользователей, чем у исходного примонтированного раздела.
- В API для управления монтированием внесены изменения, упрощающие сборку сложных иерархий файловых систем без раскрытия отдельных частей файловых систем, которые необходимо оставить скрытыми.
- В подсистему для работы с блочными устройствами добавлена поддержка аппаратных устройств защиты ключей шифрования.
- В файловой системе SMB реализована опция is_network_name_deleted и включён по умолчанию режим
smb_server_kerberos5.
- Для ФС OverlayFS добавлена опция монтирования "override_creds", при указании которой для доступа к нижним уровням хранилища будут использоваться учётные данные вызывающего пользователя, а не выполнившего монтирование. Изменение, например, позволяет при монтировании OverlayFS требовать пользователя с полномочиями CAP_SYS_ADMIN, но использовать ФС с учётными данными без данной привилегии.
- В exFAT ускорены операции удаления файлов. Вместо отправки запросов "discard" по отдельности на каждый освобождаемый кластер удаляемого файла, драйвер теперь группирует запросы. В проведённом тесте время удаления файла, размером 80 ГБ, сократилось с 286 секунд до 1.6 секунды.
- Все псевдо-ФС, а также ФС EXT2, переведены на использование нового API монтирования разделов.
- Удалён код для поддержки файловых систем SYSV (SystemV/386, Xenix и Coherent), который с 2023 года помечен как неподдерживаемый (orphaned).
- Память и системные сервисы
- Прекращена поддержка 32-разрядных систем x86, имеющих более 8 CPU и 4 ГБ ОЗУ. Подобное оборудование уже давно не выпускается, а требующие такие ресурсы системы переведены на 64-разрядные CPU. Удалена возможность сборки с опцией CONFIG_HIGHMEM64G - режим PAE (Physical Address Extension) для систем, имеющих более 4 ГБ ОЗУ, больше не включается. Рассматривается возможность прекращения поддержки в одном из следующих выпусков ядра процессоров 486 (M486, M486SX, AMD ELAN), не поддерживающих инструкцию CX8 (CMPXCHG8B) и регистр TSC (Time Stamp Counter), которые появились в CPU Pentium.
- Необходимая для сборки ядра минимальная версия GCC поднята до 8.1, а Clang - до 15.0.0.
- Добавлена подсистема fwctl (Firmware Control), предоставляющая API для безопасного управления прошивками и выполнения обработчиков на стороне прошивок из пространства пользователя. На базе fwctl подготовлены драйверы для устройств CXL (Compute Express Link), Ethernet-адаптеров Mellanox ConnectX (mlx5) и сервисных карт AMD/Pensando.
- Расширены возможности механизма pidfd, позволяющего использовать идентификаторы, связанные с конкретными процессами и в отличие от pid повторно не назначаемые. Предоставлена возможность извлечения данных о состоянии завершения процесса, идентифицируемого через pidfd после того, как родительский процесс получил подтверждение о завершении дочернего процесса (reaped) и его ресурсы были освобождены. В системные вызовы добавлен флаг PIDFD_SELF, при помощи которого процесс может сослаться на самого себя.
- Для архитектуры RISC-V реализована поддержка расширений BFloat16, Zaamo (атомарные операции с памятью), Zalrsc (Load-Reserved/Store-conditional) и ZBKB (битовые операции для криптографии).
- При трассировке обеспечена возможность сохранения аргументов вызываемых функций и их отображения в логах трассировки.
- В систему асинхронного ввода/вывода io_uring добавлена поддержка чтения информации о событиях epoll. Применение io_uring для обработки событий epoll позволяет снизить число переключений контекста и даёт возможность обрабатывать за раз несколько событий epoll.
- В подсистеме eBPF улучшена верификация программ с циклами. Добавлены новые инструкции "timed_may_goto", "load-acquire" и "store-release". Предоставлена возможность изменения расширенных атрибутов файлов из BPF-программ.
Добавлена функция try_alloc_pages(), рассчитанная на выделение памяти при высокой вероятности неудачного выполнения операции (при запуске BPF-программ в ограниченных контекстах).
Реализован новый примитив блокировок - rqspinlock (Resilient Queued Spin Lock), во время выполнения выявляющий ситуации, приводящие к взаимным блокировкам. Новый примитив даёт возможность загружать BPF-программы, для которых верификатор не гарантировал корректность работы с блокировками.
- Значительно повышена надёжность выделения больших страниц памяти (huge-page).
- Значительно ускорено вычисление контрольных сумм CRC64 на системах x86. Среди прочего, для ускорения задействованы новые векторные инструкции из набора AVX-512. В некоторых ситуациях производительность возросла в 100 раз.
- Продолжен перенос изменений из ветки Rust-for-Linux, связанных с использованием языка Rust в качестве второго языка для разработки драйверов и модулей ядра (поддержка Rust не активна по умолчанию, и не приводит ко включению Rust в число обязательных сборочных зависимостей к ядру). Предоставлена возможность использования в коде ядра макроса "#[kunit_tests()]" для запуска unit-тестов. Добавлена поддержка архитектуры ARMv7. Реализованы модули dma и hrtimer с Rust-обвязками для DMA (добавлены Линусом в обход мэйнтейнера, который после этого ушёл со своего поста) и высокоточных таймеров. Расширены модули 'list', 'str', 'sync', 'error' и 'alloc'. Добавлена поддержка нового синтаксиса '&raw' (raw_ref_op).
- В подсистеме perf реализована возможность профилирования задержек, используя информацию от планировщика задач.
- Добавлен параметр командной строки ядра "traceoff_after_boot", отключающий трассировку после того как ядро загрузилось и запущен процесс init. Параметр может использоваться при диагностике проблем, связанных с загрузкой, гарантируя, что накопленные во время загрузки данные трассировки не будут перезаписаны.
- В реализацию POSIX-таймеров внесены изменения, позволяющие инструментарию CRIU (Checkpoint/Restore in Userspace) сохранять и восстанавливать идентификаторы таймеров.
- Виртуализация и безопасность
- Добавлена возможность использования Linux в качестве корневого окружения (Dom0. root partition) для гипервизора Hyper-V (Microsoft Hypervisor). Хост-окружение отвечает за управление гипервизором, организацию запуска гостевых систем, выделение ресурсов и обеспечение взаимодействия виртуальных машин с оборудованием. Управление гипервизором Hyper-V в Linux осуществляется через устройство /dev/mshv.
- В модуль Landlock, предоставляющий непривилегированным программам средства для ограничения использования объектов ядра Linux (иерархии файлов, сетевые сокеты, ioctl и т.п), добавлен механизм аудита. Аудит позволяет детально оценивать причины блокировок доступа, осуществляемых при использовании Landlock, а также даёт возможность понять, когда и какая операция заблокирована, почему выполнена блокировка и какое правило сработало.
- Добавлена возможность реализации в LSM-модулях (Linux Security Modules) обработчиков, контролирующих обращения к системе асинхронного ввода/вывода io_uring и позволяющих блокировать использование io_uring для обхода ограничений доступа к системным вызовам. Подобный обработчик реализован в LSM-модуле SELinux.
- В SELinux реализована возможность применения политик к любым типам данных, загружаемым ядром, включая образы прошивок, политики безопасности и сертификаты.
- Добавлен режим закрепления (seal) некоторых операций маппинга памяти, осуществляемых ядром в адресном пространстве процесса. Закрепление переводит маппинг в режим только для чтения и не позволяет изменить в случае эксплуатации уязвимости. Действие распространяется на маппинг vDSO, vsyscall, vvar, sigpage и uprobes. Режим по умолчанию отключён, так как может нарушить работу некоторых приложений. Для включения добавлена сборочная настройка CONFIG_MSEAL_SYSTEM_MAPPINGS.
- Сетевая подсистема
- Продолжена работа по избавлению сетевого стека от глобальной блокировки RTNL (rtnl_lock) и её преобразованию в блокировки, привязываемые к отдельным пространствам сетевых имён.
- Добавлена начальная возможность получения сетевых пакетов через io_uring c копированием содержимого сразу в память программы в пространстве пользователя без промежуточной буферизации (zero-copy). В проведённых тестах изменение позволило справиться с обработкой трафика через 200 гигабитный канал, используя одно ядро CPU.
- Реализованы sysctl tcp_rto_max_ms и опция TCP-сокетов TCP_RTO_MAX_MS, через которые можно выставить максимальное время между попытками повторной передачи пакетов.
- В BPF добавлена серия callback-вызовов для получения сведений о времени из различных мест сетевого стека, что может использоваться для диагностики проблем с сетевыми задержками.
- Добавлены оптимизации производительности сетевых операций:
- Оптимизация GRO (Generic Receive Offload), объединяющая несколько мелких пакетов в один большой, теперь задействована при переключении обработки пакета на другой CPU (для балансировки нагрузки) при использовании подсистемы XDP (eXpress Data Path), позволяющей обрабатывать пакеты на уровне сетевого драйвера на стадии до их передачи сетевому стеку. Прирост производительности обработки TCP-потоков от применения оптимизации может достигать двух раз.
- В условиях сильной нагрузки производительность функции connect() повышена до двух раз за счёт замены spin-блокировки на механизм синхронизации RCU (Read-Copy-Update) при поиске записей с информацией о сторонах соединения (исходные и целевые IP-адреса и порты). Дополнительно проведена оптимизация хэширования, обеспечившая прирост производительности ещё на 229%.
- Ускорена реализация MPTCP (Multipath TCP), расширения протокола TCP для организации доставки пакетов одновременно по нескольким маршрутам через разные сетевые интерфейсы, привязанные к разным IP-адресам. MPTCP в режиме с одним потоком ускорен на 29%.
- В netfilter при наличии сокета прекращено выполнение операций поиска маршрутов в FIB (Forwarding Information Base). Благодаря данной оптимизации производительность возросла на 20%.
- Производительность UDP в условиях флуда (flood) увеличена на 10% за счет исключения лишних операций со структурой sk_tsflags при получении пакетов.
- Добавлен драйвер с реализацией протокола MCTP-over-USB.
- Оборудование
- В состав ядра принята начальная реализация драйвера Nova для GPU NVIDIA, оснащённых GSP-прошивками, используемыми начиная с серии NVIDIA GeForce RTX 2000 на базе микроархитектуры Turing. Драйвер написан на языке Rust. На первом этапе добавлен только каркас nova-core, насчитывающий около 400 строк кода и реализующий базовый уровень абстракций над программными интерфейсами прошивок GSP. На следующем этапе в ядро планируют включить DRM-драйвер nova-drm (Direct Rendering Manager) для взаимодействия с GPU из пространства пользователя, а также VFIO-драйвер с менеджером vGPU, позволяющим использовать виртуальные GPU NVIDIA в системах виртуализации.
- Продолжена работа над drm-драйвером (Direct Rendering Manager) Xe для GPU на базе архитектуры Intel Xe, которая используется в видеокартах Intel семейства Arc и интегрированной графике, начиная с процессоров Tiger Lake. Добавлена поддержка SVM (Shared Virtual Memory), компонента фреймворка DRM, управляющего разделяемой памятью, совместно используемой в CPU и GPU.
- В драйвер i915 добавлены идентификаторы новых GPU.
- В драйвере Nouveau переработан GSP RPC и интегрирован интерфейс drm_slave_encoder.
- В драйвере AMDGPU реализована поддержка архитектуры DCN36 (Display Core Next). Добавлена возможность задания своих кривых яркости, используемых для коррекции яркости дисплея.
- В драйвер adreno добавлена поддержка GPU Qualcomm Adreno 623.
- Добавлена поддержка сенсорных панелей Apple Touch Bar.
- Добавлена поддержка второй версии расширения eUSB2 (eUSB2V2 - Embedded USB2 Version 2.0), позволяющего снизить напряжение питания (до 1.2 вольт) и повысить производительность USB 2.0. Скорость передачи данных в eUSB2V2 может достигать 4.8 Гбит в секунду, что в 10 раз быстрее обычных 480 Мбит в секунду, типичных для USB 2.0. eUSB2V2 позволит производителям ноутбуков комплектовать свои устройства веб-камерами более высокого разрешения, продолжая при этом использовать для их подключения шину Embedded USB2.
- Добавлена поддержка Ethernet-адаптеров Intel Killer E5000 (RTL8126).
- Добавлена поддержка экранных панелей Visionox RM692E5, Rockchip w552793dba-v10, kingdisplay-kd110n11-51ie и starry-2082109qfh040022-50e.
- Добавлен драйвер для ноутбуков Samsung Galaxy Book.
- Добавлена поддержка звуковых систем Presonus Studio 1824c, Jabra Evolve 65. Добавлена поддержка DSP-модулей AMD ACP 7.x, AWINC WM88166, Everest ES8388, Intel AVS PEAKVOL и GAIN. Улучшена поддержка звука на ноутбуках ASUS, HP и Lenovo.
- Добавлена поддержка ARM-плат, SoC и устройств: Arm Morello,
AMD (Xilinx) Versal NET, Google Pixel Pro 6, NetCube Kumquat, MYIR Remi Pi, Huawei Matebook E Go, Milk-V Jupiter
ST STM32MP2, Mediatek MT8370, Apple T2, Skov (i.MX8MP), EVK (i.MX95), Rockchip RK35xx, Allwinner A523, 11 плат Toradex на базе i.MX6.
Одновременно латиноамериканский Фонд свободного ПО сформировал
вариант полностью свободного ядра 6.15 - Linux-libre 6.15-gnu, очищенного от элементов прошивок и драйверов, содержащих несвободные компоненты или участки кода, область применения которых ограничена производителем. В выпуске 6.15 нейтрализована загрузка блобов в драйверах nova, Qualcomm iris v4l2, Airoha
NPU, Tehuti Networks TN40xx 10G ethernet, Realtek 8814A wifi, Apple
Silicon SoC touchscreen, Renesas UFS и aw88166 audio.
Прекращена чистка драйвера Spider 1Gb ethernet, который был удалён из состава ядра. Удалены ссылки на тивоизированные бинарные файлы. Реализована блокировка загрузки блобов из кода на языке Rust.
- OpenNews: Релиз ядра Linux 6.14
- OpenNews: Релиз ядра Linux 6.13
- OpenNews: Релиз ядра Linux 6.12 с поддержкой Realtime-режима
- OpenNews: Релиз ядра Linux 6.11
- OpenNews: Релиз ядра Linux 6.10
|
|
|
| |
· | 25.05.2025 |
Удалённая уязвимость в модуле ksmbd ядра Linux, выявленная при помощи AI (253 +29) |
|
В модуле ksmbd, предлагающем встроенную в ядро Linux реализацию файлового сервера на базе протокола SMB, выявлена уязвимость (CVE-2025-37899), потенциально позволяющая добиться выполнения своего кода на уровне ядра через отправку специально оформленных пакетов. Примечательно, что проблема была выявлена в ходе анализа кода AI-моделью OpenAI o3. Так как полный код модуля ksmbd превышает допустимый для модели размер контекста, проверка выполнялась поэтапно для кода с реализацией отдельных команд SMB, используя типовые запросы.
Уязвимость вызвана обращением к уже освобождённой памяти (use-after-free) в коде обработки SMB-команды "logoff": структура sess->user использовалась в другом потоке, если в рамках другого соединения приходил запрос установки сеанса, привязываемый к освобождаемому сеансу. При обработке подобных запросов запускалась функция smb2_sess_setup, обращавшаяся к уже освобождённой структуре sess->user.
Уязвимость устранена в обновлениях 6.15-rc5, 6.14.6, 6.12.28, 6.6.90, 6.1.138. В ветке 5.15, в состав которой был принят модуль ksmbd, проблема не проявляется. Проследить за устранением уязвимости в дистрибутивах можно на следующих страницах: Debian, Ubuntu, Fedora, SUSE/openSUSE, RHEL, Arch.
Проблему выявил Шон Хилан (Sean Heelan), создатель платформы профилирования кода Prodfiler, специализирующийся на оптимизации и проведении аудита безопасности кода. Шон решил оценить насколько современные AI-модели готовы для проведения аудита безопасности и сделал вывод, что модель o3 значительно продвинулась в плане анализа и понимания структуры, логики и функциональности кода. Отмечается, что для определения уязвимости модель смогла построить цепочку рассуждений, учитывающую возможность параллельных подключений к серверу и использование структур данных в различных ситуациях.
В итоге, модель определила проблемное место в коде, в котором освобождаемый объект оставался доступен в другом потоке. При этом модель нашла проблему сама лишь на основе общего запроса, просившего проверить наличие уязвимостей в коде, сделав акцент на проверке висящих указателей и обращений к памяти после её освобождения, исключив при этом ложные срабатывания и гипотетические проблемы.
Перед поиском новых уязвимостей, Шон протестировал разные модели на предмет определения уязвимости CVE-2025-37778 в ksmbd, ранее выявленной им в ходе ручного аудита и устранённой в обновлении ядра 6.15-rc3. Модель o3 успешно справилась с заданием и показала наиболее близкий к ручному аудиту результат, после чего Шон переключился на эксперименты по поиску ранее неизвестных уязвимостей.
- OpenNews: Mistral AI опубликовал Devstral, большую языковую модель для работы с кодом
- OpenNews: Эксплотит к уязвимости SSH-сервере из Erlang/OTP, написанный при помощи AI
- OpenNews: Исследование влияния AI-ассистентов, подобных GitHub Copilot, на безопасность кода
- OpenNews: Проблемы из-за подготовленных AI-инструментами отчётов об уязвимостях
- OpenNews: Google использовал большую языковую модель для выявления уязвимости в SQLite
|
|
Обсуждение (253 +29) |
Тип: Проблемы безопасности |
|
| |
· | 24.05.2025 |
ALT Linux развивает Tuner, новый конфигуратор для GNOME (161 +27) |
|
Разработчики из сообщества ALT Linux представили новый конфигуратор для GNOME - Tuner, нацеленный на упрощение расширения функциональности и предоставления дополнительных настроек. Предполагается, что Tuner может использоваться дистрибутивами, поставляющими GNOME, для создания конфигураторов, отвечающих за изменение настроек, специфичных для дистрибутива. Например, для ALT Linux реализован плагин Tuner Panel, позволяющий переключаться между панельным (в стиле GNOME 2) и стандартным режимами интерфейса GNOME.
В программе реализована архитектура на базе плагинов, позволяющая добавлять новые разделы настроек, менять интерфейс и расширять функциональность через поставку отдельных плагинов без изменения кода основного приложения. Для создания плагинов задействован движок libpeas, уже применяемый в GNOME-приложениях Gedit и Totem.
Из особенностей Tuner также упоминается упрощение интеграции с GSettings. По аналогии с приложением GNOME Refine в Tuner доступен механизм для создания виджетов, используя язык построения интерфейсов Blueprint. Подобные виджеты дают возможность привязывать отдельные настройки в GSettings к элементам интерфейса, созданным для их изменения.
Код проекта написан на языке Vala и распространяется под лицензией GPLv3. Интерфейс пользователя построен с использованием библиотеки libadwaita, соответствует рекомендациям GNOME HIG (Human Interface Guidelines) и может адаптивно подстраиваться под размер экрана. Доступны шаблоны для разработки типовых плагинов на языках Vala и Python.
- OpenNews: В GNOME SDK добавлена поддержка языка построения интерфейсов Blueprint
- OpenNews: В GNOME добавлен Mutter Development Kit
- OpenNews: В GDM по умолчанию отключён сеанс X11. В Fedora 43 в GNOME будет поддерживаться только Wayland
- OpenNews: Выпуск дистрибутива Альт Рабочая станция К 11.0
|
|
|
| |
· | 24.05.2025 |
Доступен дистрибутив NixOS 25.05, использующий пакетный менеджер Nix (82 +8) |
|
Представлен релиз дистрибутива NixOS 25.05, основанного на пакетном менеджере Nix и предоставляющего собственные разработки для упрощения настройки и сопровождения системы. В NixOS вся настройка системы осуществляется через единый файл системной конфигурации configuration.nix. Предоставляются возможности для быстрого отката системы на предыдущую версию конфигурации и переключения между различными состояниями системы. Поддерживается установка индивидуальных пакетов отдельными пользователями и возможность одновременного использования нескольких версий одной программы. Обеспечены воспроизводимые сборки. Для архитектур x86_64 и ARM64 подготовлен установочный образ с графическим окружением (3.7 ГБ) и сокращённый консольный вариант (1.4 ГБ).
При использовании Nix результат сборки пакетов хранится в отдельном подкаталоге в /nix/store. Например, после сборки пакет firefox может записываться в /nix/store/5onlv1pc3ed6n5nskg8ew4twcfd0d5ae4ec5d4-firefox-138.0.4/, где "5onlv1pc3ed6n5nskg8ew4twcfd0d5ae4ec5d4" является хешем всех его зависимостей и инструкций сборки. Под установкой пакета подразумевается его сборка или скачивание уже собранного (при условии, что он был уже собран на Hydra - сервисе сборки проекта NixOS), а также формирование директории с символическими ссылками на все пакеты в профиле системы или пользователя, с последующим добавлении этой директории в список PATH. Аналогичный подход применяется в пакетном менеджере GNU Guix, который основан на наработках Nix. Коллекция пакетов представлена в специальном репозитории Nixpkgs.
Основные новшества:
- Добавлено 7840 пакетов, удалено 1694 пакетов, обновлено 28054 пакетов. Добавлено 137 новых модулей и 1930 опций конфигурации, удалено 10 модулей и 215 опций. В разработке и сопровождении пакетов приняли участие 2857 разработчиков, подготовивших 57054 изменения.
- Предложен выпуск среды рабочего стола GNOME 48. По умолчанию задействован музыкальный проигрыватель Decibels. Прекращена установка по умолчанию набора дополнений к GNOME Shell (gnome-shell-extensions).
- Обновлены пользовательские окружения Cinnamon 6.4, Pantheon 8 (elementary OS), Xfce 4.20.
- Добавлена поддержка пользовательского окружения COSMIC.
- Добавлены новые модули Anubis, AmneziaVPN, Cursor, Kismet, vwifi, Ghidra, Yggdrasil-Jumper, MaryTTS, doh-server, Schroot, Firezone, PostgREST, postgres-websockets, pgBackRest, µStreamer, nfc-nci, victorialogs, Zipline, vsmartcard-vpcd, LiteLLM, Rebuilderd, GNU Rush, GoDNS и т.д.
- Обновлены версии программ, например, ядро Linux 6.12 (было 6.6), GCC 14, LLVM 19, OpenSSH 10.0p2 (прекращена поддержка DSA-ключей).
- Добавлена поддержка создания контейнеров (virtualisation.containers) на базе podman, работающих в режиме без прав root.
- Реализована команда "nixos-rebuild build-image" для сборки специфичных дисковых образов на основе заданной конфигурации.
- Команда nixos-option переписана и переведена на использование выражений Nix.
- Переработан способ формирования пакетов с драйверами Mesa. Установленные в системе приложения, связанные с разными версиями Mesa, теперь должны работать корректно, а глобальной версией Mesa можно управлять без массовой пересборки.
- В репозиторий channels.nixos.org добавлена поддержка протокола Lockable HTTP Tarball, позволяющего использовать архивы nixexprs.tar в качестве образов Nix Flake.
- В команду nixos-generate-config добавлена опция "--flake" для генерации файла flake.nix помимо файлов configuration.nix и hardware-configuration.nix, для упрощения интеграции с конфигурациями на базе flake.
- OpenNews: Выпуск дистрибутива NixOS 24.11, использующего пакетный менеджер Nix
- OpenNews: В NixOS предложен метод защиты от подстановки бэкдоров, таких как в XZ
- OpenNews: Лидер проекта NixOS вышел из управляющего совета после угрозы создания форка
- OpenNews: Проект NixBSD развивает вариант NixOS с ядром из FreeBSD
- OpenNews: Обход дискового шифрования, использующего TPM2 для автоматической разблокировки
|
|
|
| |
· | 24.05.2025 |
Выпуск дистрибутива Ubuntu Sway Remix 25.04 (62 +5) |
|
Доступен выпуск дистрибутива Ubuntu Sway Remix 25.04, предоставляющего преднастроенный и готовый к использованию рабочий стол на основе мозаичного композитного менеджера Sway. Дистрибутив является неофициальной редакцией Ubuntu 25.04, созданной с оглядкой как на опытных пользователей GNU/Linux, так и на новичков, желающих попробовать окружение с мозаичным оконным менеджером без необходимости его долгой настройки. Для загрузки подготовлены сборки для архитектур amd64 и arm64 (Raspberry Pi).
Окружение дистрибутива построено на основе Sway - композитного менеджера, использующего протокол Wayland и полностью совместимого с мозаичным оконным менеджером i3, а также панели Waybar, файлового менеджера PCManFM-GTK3 и утилит из проекта NWG-Shell, таких как менеджер обоев рабочего стола Azote, полноэкранное меню приложений nwg-drawer, программа для вывода содержимого скриптов на экран nwg-wrapper (используется для отображения подсказки по горячим клавишам на рабочем столе), менеджер настройки тем GTK, курсора и шрифтов nwg-look и скрипт Autotiling, автоматически компонующий окна открытых приложений на манер динамических мозаичных оконных менеджеров.
В состав дистрибутива входят программы как с графическим интерфейсом, такие как Firefox, Qutebrowser, Audacious, Transmission, Libreoffice, Pluma и MATE Calc, так и консольные приложения и утилиты, такие как музыкальный проигрыватель Musikcube, видеопроигрыватель MPV, утилита для просмотра изображений Swayimg, утилита для просмотра документов PDF Zathura, текстовый редактор Neovim, файловый менеджер Ranger и другие.
Другой особенностью дистрибутива является полный отказ от использования пакетного менеджера Snap, все программы поставляются в виде обычных deb-пакетов, в том числе веб-браузер Firefox, для установки которого задействован официальный PPA-репозиторий Mozilla Team. Установщик дистрибутива основан на фреймворке Calamares.
Основные изменения:
- Пакетная база обновлена до выпуска Ubuntu 25.04;
- Задействован выпуск Sway 1.10, в котором реализован новый движок отрисовки, ощутимо поднявший производительность, обеспечена поддержка цветовых ICC профилей, поддержка отключения вертикальной синхронизации через протокол tearing-control-v1, улучшен алгоритм настройки устройств вывода и тд.;
- Блокировщик экрана swaylock заменён на gtklock, что позволило улучшить интеграцию с системным оформлением и предоставить более привычный пользователям интерфейс;
- По умолчанию в качестве клавиатуро-ориентированного меню приложений и переключателя окон задействован Wofi, что позволило улучшить совместимость со скриптами, написанными для Rofi;
- Добавлено небольшое приложение для выбора emoji;
- В панель Waybar добавлен модуль power-profiles-daemon, для переключения режимов энергосбережения системы (экономный, сбалансированный или режим максимальной производительности);
- Отключён по умолчанию модуль показа погоды на панели Waybar, из-за проблем с получением информации о погоде в некоторых регионах. Модуль может быть активирован вручную в конфигурационном файле Waybar;
- Значительно улучшен установщик системы. Ускорены операции распаковки образа на диск, настройки локали и очистки системы после завершения установки. Решены мелкие недоработки при установке на системы с UEFI;
- Внесены небольшие оптимизации интерфейса для работы на экранах небольших разрешений (до 1280x720);
- Исправлены проблемы с масштабированием курсора мыши на экранах сверхвысоких разрешений. Вместо темы курсора Breeze задействована тема Yaru.
- Обновлено приложение Sway Input Configurator, в котором устранены проблемы с настройкой вариантов раскладок клавиатур, устранены недоработки в интерфейсе и проведён небольшой рефакторинг кодовой базы.
- OpenNews: Опубликовано пользовательское окружение Sway 1.10, использующее Wayland
- OpenNews: Выпуск дистрибутива Ubuntu Sway Remix 24.10
- OpenNews: В Ubuntu 25.10 заменят эмулятор терминала и просмотрщик изображений
- OpenNews: Ubuntu 25.10 переходит по умолчанию на Chrony вместо systemd-timesyncd
- OpenNews: Обновление дистрибутива TileOS 1.2
|
|
|
| |
· | 23.05.2025 |
Mistral AI опубликовал Devstral, большую языковую модель для работы с кодом (302 +24) |
|
Компания Mistral AI представила большую языковую модель Devstral, оптимизированную для решения проблем, возникающих в процессе разработки ПО. В отличие от типовых AI-моделей, Mistral AI выходит за рамки написания отдельных функций и дополнения кода, и предоставляет возможности, позволяющие анализировать и контекстуализировать (определять назначение и логику работы) большие кодовые базы, определять связи между компонентами и определять трудновыявляемые ошибки в запутанных функциях.
Модель охватывает 23.6 миллиардов параметров, учитывает контекст в 128 тысяч токенов и опубликована под лицензией Apache 2.0. Загружаемый архив с Devstral занимает 47 ГБ и пригоден для использования на локальных системах - для выполнения модели достаточно одного ПК с видеокартой NVIDIA GeForce RTX 4090 и 32 ГБ ОЗУ. Модель можно использовать в открытых инструментариях SWE-agent и OpenHands для автоматизации исправления ошибок, анализа кода и внесения изменений.
Система может применяться для решения конкретных проблем (issue) на GitHub и заметно опережает другие проекты в тестовом наборе SWE-Bench Verified, проверяющем корректность решения типовых проблем в коде (предлагается 500 тестов на основе реальных сообщений об ошибках на GitHub). В данном тесте модель Devstral набрала 46.8%, в то время как модель Claude 3.5 Haiku получила 40.6%, SWE-smith-LM 32B - 40.2% и GPT-4.1-mini - 23.6%. Среди прочего Devstral опередила такие крупные модели, как Deepseek-V3-0324 671B (38.8%) и Qwen3 232B-A22B (34.4%), охватывающие сотни миллиардов параметров.
- OpenNews: Организация OSI выработала критерии открытости AI-систем
- OpenNews: Рейтинг открытости генеративных AI-моделей
- OpenNews: Google открыл AI-модель Gemma, основанную на технологиях, общих с чат-ботом Gemini
- OpenNews: Утечка конфиденциальной информации DeepSeek из-за неограниченного доступа к БД с логами
- OpenNews: Проект Debian начал общее голосование по критериям открытости AI-моделей
|
|
|
| |
Следующая страница (раньше) >> |