The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

·06.01.2026 Утечка BootROM-ключей Sony Playstation 5 (70 +58)
  В открытый доступ попал набор данных, в котором были найдены BootROM-ключи для игровой приставки Sony Playstation 5, применяемые для расшифровки и верификации начального загрузчика. При помощи данных ключей можно сформировать изменённый загрузчик, успешно проходящий верификацию, и применить его для запуска модифицированного варианта прошивки или загрузки Linux-дистрибутива вместо штатной прошивки. Ключи также могут способствовать разработке эмуляторов и обходу защиты от запуска пиратских копий игр.

Содержимое BootROM не может быть изменено программно или через обновление прошивки, поэтому уязвимость рассматривается как аппаратная проблема, которая останется во всех уже выпущенных приставках. Устранение проблемы возможно только через выпуск новых APU с новыми BootROM-ключами. Ранее похожие проблемы с ключами уже возникали приставках Nintendo Switch и Sony Playstation 3.

В Sony Playstation 5 используется APU AMD со встроенным сопроцессором PSP (Platform Security Processor), обеспечивающим управление ключами. На первой стадии загрузки запускается доступный только на чтение код из BootROM, использующий корневые ключи для верификации загрузчика по цифровой подписи, жёстко прошитые на этапе производства чипа. Если верификация прошла успешно, на второй стадии запускается загрузчик (Bootloader), который отвечает за запуск и верификацию ядра ОС или гипервизора.

Наличие BootROM-ключей позволяет расшифровать загрузчик, который до этого представлял собой чёрный ящик, и изучить используемые в нём механизмы обеспечения безопасности. Используемые ранее методы компрометации Sony Playstation 5, основанные на поиске уязвимостей в ядре и системных программах, сравниваются с умением взламывать замки, в то время как получение BootROM-ключей преподносится как получение универсального мастер-ключа. При этом BootROM-ключи лишь предоставляют полномочия для запуска кода на стадии загрузчика, но не решают проблему размещения необходимого кода.

Для успешной компрометации приставки требуется дополнительный вектор атаки, позволяющий получить доступ к системе. Для устройств с прошивкой 12.00 в качестве такого вектора может использоваться диск с ретро-игрой "Star Wars: Racer Revenge", содержащей уязвимость в обвязке с эмулятором Sony Playstation 2 (эмулятор используется для запуска игры, изначально созданной в 2002 году для приставок PlayStation 2). В коде загрузки сохранённых игровых сеансов имеется ошибка, приводящая к переполнению буфера при обработке специально оформленных save-файлов. Данное переполнение можно использовать для выполнения кода на уровне системы вне эмулятора.

  1. OpenNews: Опубликован эксплоит для выполнения кода на уровне ядра Sony PlayStation 4
  2. OpenNews: Энтузиастам удалось обойти проверку цифровой подписи в Sony Playstation 3
  3. OpenNews: В результате взлома была похищена пользовательская база сервиса Sony PlayStation Network
  4. OpenNews: Опубликован интерфейс для загрузки Linux на Sony PlayStation 4
  5. OpenNews: Компания Sony подтвердила использование кода FreeBSD в PlayStation 4
Обсуждение (70 +58) | Тип: Проблемы безопасности |
·05.01.2026 GNOME и Firefox намерены отключить по умолчанию вставку средней кнопкой мыши (222 –56)
  Для применения в GNOME и Firefox предложены изменения, отключающие по умолчанию одну из полезных функций графических окружений в Linux - возможность быстрой вставки содержимого буфера обмена (PRIMARY selection) нажатием средней кнопки мыши. Изменения находятся на стадии рецензирования и пока окончательно не утверждены.

В качестве причины отключения разработчики Firefox упоминают непривычность данной возможности для новичков, которых приводит в замешательство случайное нажатие на колесо мыши. В качестве аргумента также упоминается wiki-страница на сайте freedesktop.org, в которой утверждается, что нормальное поведение при работе с буфером обмена в Linux соответствует поведению Windows и macOS, а вставка средней кнопкой мыши преподносится как «пасхальное яйцо» для опытных пользователей. В случае принятия изменения пользователям Firefox придётся вручную менять значение параметра "middlemouse.paste" на странице about:config.

Мотивом отключения вставки средней кнопкой мыши в GNOME является желание избавиться от специфичных возможностей X11 (в Wayland данная функция также поддерживается), приводящих к неожиданному поведению для пользователей других платформ и обычно используемых случайно. Предполагается, что пользователи, которым вставка средней кнопкой важна смогут вернуть её поддержку через изменение настроек командой "gsettings set org.gnome.desktop.interface gtk-enable-primary-paste true".

  1. OpenNews: В GNOME 3.12 планируют отключить вставку из буфера обмена по средней кнопке мыши
  2. OpenNews: Выпуск wayland-protocols 1.17 с поддержкой буфера обмена по средней кнопке мыши
Обсуждение (222 –56) | Тип: Тема для размышления |
·05.01.2026 Представлены умные часы Pebble Round 2 на открытой платформе PebbleOS (63 +6)
  Эрик Мигиковски (Eric Migicovsky), основатель компании Pebble Technology, представил умные часы Pebble Round 2, которые будут выпускаться на базе открытой платформы PebbleOS. Новая модель дополнила выпущенную в августе упрощённую модель Pebble 2 Duo и запланированную на март модель Pebble Time 2, и отличается от них использованием круглого экрана. Схемы и проектные файлы (KiCad) для модели Pebble 2 Duo уже доступны на GitHub, а для моделей Pebble Time 2 и Pebble Round 2 будут опубликованы после полной готовности устройств.

Модель Pebble Round 2 оснащена цветным круглым 1.3-дюймовым сенсорным экраном на базе электронной бумаги, имеющим разрешение 260x260. Время автономной работы заявлено в две недели. Корпус выполнен из нержавеющей стали, оснащён 4 кнопками и имеет уровень защиты от попадания влаги, выдерживающий погружение на 30 метров. Устройство оснащено двумя микрофонами (один для подавления шумов), громкоговорителем, акселерометром и магнитометром, а также функциями отслеживания продолжительности сна и шагомера. Для вибросигнала применяется линейный резонансный привод, который тише и мощнее вибромотора.

Мобильное приложение для взаимодействия смартфона с умными часами поставляется для Android и iOS и распространяется под лицензией GPL 3.0. В каталоге Appstore имеется более 15 тысяч приложений и тем оформления экрана. Для разработки собственных программ доступен SDK. Цена по предзаказам - $199. Поступление в продажу намечено на май 2026 года.

Код используемой на умных часах операционной системы PebbleOS в январе 2025 года был открыт корпорацией Google после поглощения компании Fitbit. Платформа PebbleOS поддерживают все основные возможности старых часов Pebble, такие как вывод уведомлений и сообщений со смартфона (уведомления о входящих звонках и событиях календаря-планировщика, информация о новых SMS, email и сообщениях из популярных мессенджеров), списки действий, смена тем оформления экрана, будильник, таймер, календарь, управление воспроизведением музыки, функции фитнес-трекера, расширение функциональности через установку приложений.

Принципы, реализованные в умных часах Pebble:

  • Использование экрана на основе электронной бумаги, который хорошо читается при солнечном свете и не привлекает внимание окружающих своим свечением.
  • Длительная автономная работа от одной зарядки аккумулятора.
  • Простой интерфейс пользователя, предлагающий базовый набор наиболее часто используемых возможностей (показ времени, уведомления, управления воспроизведением музыки, будильник, прогноз погоды, календарь, шагомер и учёт времени сна).
  • Наличие кнопок, позволяющих совершать действия не смотря на экран (например, остановка воспроизведения музыки или переход к следующей композиции).
  • Доступность для модификации (hackable), расширения функциональности, создания своих надстроек и смены оформления.


  1. OpenNews: Открытие кода программного обеспечения для умных часов Pebble Watch
  2. OpenNews: Первая версия InfiniTime, прошивки для открытых умных часов PineTime
  3. OpenNews: Google открыл код операционной системы для умных часов Pebble
  4. OpenNews: Открыт код MuditaOS, мобильной платформы с поддержкой экранов на базе электронной бумаги
  5. OpenNews: Проект ZSWatch развивает открытые умные часы на базе ОС Zephyr
Обсуждение (63 +6) | Тип: К сведению |
·05.01.2026 Проект MiDesktop развивает форк KDE 1 для современных систем (172 +34)
  Представлен первый экспериментальный выпуск проекта MiDesktop, развивающего форк среды рабочего стола KDE 1.1.2, адаптированный для работы в современных системах. Кодовая база KDE 1 портирована на фреймворк Qt 2 для решения проблем и ограничений лицензии, специфичных для ветки Qt 1. В рамках проекта Osiris теми же разработчиками развивается актуализированный форк Qt 2.3.2. Код MiDesktop распространяется под лицензией GPLv2. Готовые сборки сформированы для Debian 13 и Ubuntu 24.04.

Целью проекта заявлена модернизация кодовой базы KDE 1, не перегружая при этом окружение избыточной функциональностью. В MiDesktop намерены сохранить общий минималистичный подход к разработке десктоп-систем конца 1990-х и начала 2000-х годов, но избавив среду рабочего стола от недостатков, присущих системам того времени. Среди ключевых свойств MiDesktop упомянуты простота интерфейса, легковесность и высокая производительность.

Среди планов на будущее: создание редакции для Wayland; переработка KDM для запуска в современных системах; портирование KDE-приложений, таких как KEdit, KWrite, KCalc и KMix; решение проблем с прокруткой во всех приложениях; добавление в меню завершения работы с системой опций управления питанием (выключение, перезапуск и т.п.); поддержка звуковых эффектов и актуального звукового стека.

Из пока не решённых известных проблем называются некорректное изменение размера окон Firefox и Chrome; пропадание меню на панели задач; нераскрытие категорий в конфигураторе (KDE Control Center); раскрытие окон на все экраны в многомониторных конфигурациях.

Для запуска MiDesktop достаточно любой Linux-системы с glibc и X-сервером, таким как XWayland или X.Org Server, или прослойкой Wayback. Из зависимостей отмечены библиотеки libjpeg, libtiff, libpng, Osiris Toolkit 2.4.4+, libxcb, libxkb и gettext. Для сборки необходимы CMake и GCC 12+.

  1. OpenNews: Выпуск десктоп-окружения Trinity 14.1.5, продолжающего развитие KDE 3.5
  2. OpenNews: Выпуск среды рабочего стола CDE 2.5.3
  3. OpenNews: Выпуск пользовательского окружения NsCDE 2.3
  4. OpenNews: Проект KDE отметил своё двадцатилетие повторным выпуском KDE 1
  5. OpenNews: Представлен порт Qt 1 для современных систем
Обсуждение (172 +34) | Тип: Программы |
·05.01.2026 Доступен симулятор транспортных средств Rigs of Rods 2026.01 (21 +19)
  После трёх лет разработки опубликован выпуск проекта Rigs of Rods 2026.02, развивающего реалистичный симулятор автомобилей, кораблей, самолётов, вертолётов, поездов и других видов транспорта. В проекте задействован графический движок OGRE и собственный движок физики деформируемых тел для симуляции движения, повреждений и деформации транспортных средств. Код написан на языке С++ и распространяется под лицензией GPLv3.

Симулятор начинал своё развитие как исследовательский проект Пиерра Мишеля-Рикорделя в области физики мягких тел. После того как проект привлёк внимание сообщества для симулятора были созданы тысячи различных карт и транспортных средств. Пользователю предоставляется окружение с полной свободой действий и возможностью использования разных карт и видов транспорта с реалистичной моделью движения и повреждений, вплоть до симуляции полного разрушения.

Среди изменений в новой версии:

  • Реализована поддержка настраиваемых панелей. Панели теперь можно загружать из репозитория и выбирать в конфигураторе без ручного редактирования файлов. Добавлена возможность использования в панелях собственных шрифтов и альтернативных макетов.
  • Добавлена поддержка обособленных инструментов (гаджетов), созданных с помощью скриптов и загружаемых из репозитория. Вызов инструментов осуществляется через верхнее меню.
  • Добавлена поддержка внешних пакетов ресурсов (Assetpacks) для моддинга.
  • Предложен новый пакет "addonpart" для кастомизации транспортных средств, поддерживающий автоматическую подгонку узлов.
  • В верхнее меню добавлен новый пункт "Tuning" с реализацией полноценного редактора тюнинга, позволяющего создавать собственные конфигурации машин, добавлять/удалять отдельные компоненты из коллекции "addonparts", а также вносить ручные изменения.
  • Обновлён интерфейс с информацией о транспортном средстве - разрозненные панели объединены в одну панель на базе вкладок, в которой собраны все данные и характеристики машины.
  • Улучшен интерфейс управления репозиторием (Repository Manager), в котором детальные сведения о загружаемых модах синхронизированы с web-каталогом и включают такие данные, как описание, изображения и миниатюры, а файлы для загрузки предложены в отдельной боковой панели. Обеспечена загрузка модов в фоновом режиме без блокировки интерфейса.
  • Расширена поддержка звуков. Реализован реалистичный доплеровский эффект. Добавлена возможность привязки настроек реверберации к элементам ландшафта. Реализован эффект приглушения звука из‑за коллизий геометрии.
  • Переработан режим ремонта "Live Repair", для которого в интерфейсе предложен новый индикатор и включаемая панель подсказок.
  • Улучшен режим редактирования ландшафта. Добавлена поддержка сохранения в отдельный файл изменений, внесённых в ландшафт.
  • Встроенный редактор скриптов преобразован в полноценный инструмент (гаджет), поддерживающий сворачивание и форматирование кода, предлагающий каталог со сгруппированными по категориям примерами скриптов, наглядно информирующий об ошибках.
  • Добавлен новый инструмент "Engine Tool", позволяющий в реальном времени редактировать параметры и режимы двигателя.
  • Скрипт редактирования дорог преобразован в отдельный инструмент "Road Editor" и расширен возможностью использования парящей камеры с боковой прокруткой, похожей на реализацию камеры из стратегических игр.
  • Добавлен диагностический инструмент "OGRE Inspector" для отображения сцены с точки зрения 3D‑рендера OGRE.
  • А серверный API для скриптов добавлена функция для отправки внешних HTTP-запросов, используя cURL.

  1. OpenNews: Disney, DeepMind и NVIDIA разработали движок симуляции физических процессов Newton
  2. OpenNews: Компания NVIDIA выпустила открытый движок симуляции физических процессов PhysX 5
  3. OpenNews: DeepMind открыл код симулятора физических процессов MuJoCo
  4. OpenNews: Проект Open SIMH продолжит развитие симулятора SIMH как свободного проекта
Обсуждение (21 +19) | Тип: Программы |
·05.01.2026 Выпуск Phosh 0.52.0, GNOME-окружения для смартфонов (11 +3)
  Опубликован релиз Phosh 0.52, экранной оболочки для мобильных устройств, основанной на технологиях GNOME и библиотеке GTK. Окружение изначально развивалось компанией Purism в качестве аналога GNOME Shell для смартфона Librem 5, но затем вошло в число неофициальных проектов GNOME и используется в postmarketOS, Mobian, Droidian, некоторых прошивках для устройств Pine64 и редакции Fedora для смартфонов. Phosh использует композитный сервер Phoc, работающий поверх Wayland, а также собственную экранную клавиатуру. Наработки проекта распространяются под лицензией GPLv3+.

Среди изменений:

  • В быстрые настройки добавлена кнопка для показа QR-кода с параметрами подключения к предоставляемой платформой беспроводной точке доступа (Wi-Fi hotspot).

  • Добавлена поддержка экранного жеста (скольжение двумя пальцами по горизонтали) для изменения яркости во время блокировки экрана.

  • Добавлен интерфейс DebugControl для управления отладочными опциями.
  • В композитный сервер Phoc добавлена возможность обработки разных радиусов закругления углов экрана. Проведена подготовка к поддержке Wayland-протокола xdg-cutouts.
  • В конфигуратор phosh-mobile-settings добавлена возможность открытия диалогов для конфигурации элементов в панели быстрых настроек. В conf-tweaks добавлен бэкенд для изменения параметров через sysfs.
  • В экранной клавиатуре Stevia по умолчанию включён вывод всплывающих подсказок с информацией о вводимых символах и обеспечено масштабирование клавиатуры.
  • В xdg-desktop-portal-phosh добавлена новая реализация портала для изменения фоновых изображений, написанная на Rust.
  • В gmobile, набор обработчиков для работы GNOME на мобильных устройствах, добавлена поддержка разных радиусов скругления углов. Для смартфона Oneplus 6 задействованы разные радиусы скругления для верхних и нижних углов. Добавлены правила hwdb и udev для настройки минимальной яркости фонарика.
  • В интерфейсе выбора файлов pfs реализована генерации миниатюр при помощи сервиса mobi.phosh.Thumbnailer. В диалоге открытия файлов задействован интерфейс org.freedesktop.FileManager1.
  • Обновлены версии зависимостей: GNOME 49, ModemManager 1.25.95, wlroots 0.19.2, callaudiod 0.1.10, Calls 49.1.1, cellbroadcastd 0.0.3, feedbackd 0.8.8, feedbackd-device-themes 0.8.7, iio-sensor-proxy 3.7, mmsd-tng 2.6.4, wys 0.1.12.

  1. OpenNews: Выпуск Phosh 0.51.0, GNOME-окружения для смартфонов
  2. OpenNews: Доступна мобильная платформа KDE Plasma Mobile 6.5
  3. OpenNews: Продолжение развития GNOME Shell для мобильных устройств
  4. OpenNews: Выпуск Mobian 13.0, редакции Debian для мобильных устройств
  5. OpenNews: Опубликован postmarketOS 25.12, Linux-дистрибутив для смартфонов и мобильных устройств
Обсуждение (11 +3) | Тип: Программы |
·04.01.2026 Наиболее важные события 2025 года, связанные с открытыми проектами (47 +35)
  Итоговая подборка наиболее важных и заметных событий 2025 года, связанных с открытыми проектами и информационной безопасностью:

За год на OpenNET было опубликовано 1520 новостей, на которые было оставлено 173 тысячи комментариев. Осенью 2025 года проекту OpenNET исполнилось 29 лет.

  1. OpenNews: Наиболее важные события 2024 года
  2. OpenNews: Наиболее важные события 2023 года
  3. OpenNews: Наиболее важные события 2022 года
  4. OpenNews: Наиболее важные события 2021 года
  5. OpenNews: Наиболее важные события 2020 года
Обсуждение (47 +35) | Тип: Обобщение | Интересно
·04.01.2026 Релиз системы изоляции приложений Firejail 0.9.78 (57 +9)
  Опубликован релиз проекта Firejail 0.9.78, развивающего систему для изолированного выполнения графических, консольных и серверных приложений, позволяющую минимизировать риск компрометации основной системы при запуске не заслуживающих доверия или потенциально уязвимых программ. Программа написана на языке Си, распространяется под лицензией GPLv2 и может работать в любом дистрибутиве Linux с ядром старше 3.0. Готовые пакеты с Firejail подготовлены в форматах deb (Debian, Ubuntu) и rpm (CentOS, Fedora).

Для изоляции в Firejail используются пространства имён (namespaces), AppArmor и фильтрация системных вызовов (seccomp-bpf) в Linux. После запуска программа и все её дочерние процессы используют отдельные представления ресурсов ядра, таких как сетевой стек, таблица процессов и точки монтирования. Зависимые между собой приложения можно объединять в один общий sandbox. При желании Firejail можно применять и для запуска контейнеров Docker, LXC и OpenVZ.

В отличие от средств контейнерной изоляции firejail предельно прост в конфигурации и не требует подготовки системного образа - состав контейнера формируется на лету на основе содержимого текущей ФС и удаляется после завершения работы приложения. Предоставляются гибкие средства задания правил доступа к файловой системе, позволяющие определять к каким файлами и директориям разрешён или запрещён доступ, подключать для данных временные ФС (tmpfs), ограничивать доступ к файлам или директориям только на чтение, совмещать директории через bind-mount и overlayfs.

Для большого числа популярных приложений, в том числе для Firefox, Chromium, VLC и Transmission, подготовлены готовые профили изоляции системных вызовов. Для получения привилегий, необходимых для настройки изолированного окружения, исполняемый файл firejail устанавливается с флагом SUID root (после инициализации привилегии сбрасываются). Для выполнения программы в режиме изоляции достаточно указать имя приложения в качестве аргумента утилиты firejail, например, "firejail firefox" или "sudo firejail /etc/init.d/nginx start".

В новом выпуске:

  • В файл конфигурации firejail.config добавлены опции arg-max-count, arg-max-len, env-max-count и env-max-len для изменения лимитов на число и размер опций командной строки и переменных окружения. По умолчанию число аргументов ограничено 128, число переменных окружения 256, а размер каждого аргумента - PATH_MAX из limits.h (в Linux 40196) + 32.
  • Добавлена опция "--xephyr-extra-params" для задания дополнительных опций к Xephyr (используется для создания sandbox-окружений X11 со своим X-сервером, запущенным в окне) в командной строке без изменения firejail.config.
  • Устанавливаемая в sandbox-окружение утилита bwrap (bubblewrap) заменена на прослойку fbwrap, запускающую программы без изоляции для решения проблем с запуском Firefox, Thunderbird, GIMP из-за вызова glycin 2.0.0 из gdk-pixbuf2 с использованием bwrap. Для копирования bwrap вместо прослойки добавлена опция "--allow-bwrap".
  • Обновлены таблицы системных вызовов для seccomp. Добавлены новые системные вызовы, такие как epoll_pwait2 и futex_wait.
  • Удалена сборочная опция "--disable-globalcfg", прекращена поддержка overlayfs ("--overlay") и режима IDS (Intrusion Detection System, "--ids").
  • Добавлены профили изоляции для текстового редактора ne (текстовый редактор), браузера Trivalent и игровых движков OpenRA, quakespasm, gzdoom, lzdoom, uzdoom.
  • Обновлены профили для thunderbird, wine, qutebrowser, firefox, godot, wusc, mullvad-browser, blink, steam, ssh, brave и hashcat.

  1. OpenNews: Выпуск Bubblewrap 0.11, прослойки для создания изолированных окружений
  2. OpenNews: Уязвимость в firejail, позволяющая получить root-доступ в системе
  3. OpenNews: Выпуск системы изоляции приложений Firejail 0.9.72
  4. OpenNews: Mozilla начинает внедрение технологии изоляции библиотек RLBox
  5. OpenNews: Опубликован secimport 0.8 для sandbox-изоляции отдельных Python-модулей
Обсуждение (57 +9) | Тип: Программы |
·04.01.2026 Выпуск Box64 0.4.0, эмулятора для запуска x86-игр на системах ARM64, RISC-V и Loongarch64 (47 +11)
  Опубликован выпуск эмулятора Box64 0.4.0, предназначенного для запуска Linux-программ, собранных для архитектуры x86_64, на оборудовании с процессорами ARM64, RISC-V и Loongarch64. Проект уделяет большое внимание организации запуска игровых приложений и предоставляет возможность запуска Windows-сборок через Wine и Proton. Исходные тексты проекта написаны на языке Си и распространяются под лицензией MIT.

Особенностью проекта является применение гибридной модели выполнения, при которой эмуляция применяется только к машинному коду самого приложения и специфичных библиотек. Типовые системные библиотеки, включая libc, libm, GTK, SDL, Vulkan и OpenGL, подменяются на варианты, родные для целевых платформ. Таким образом, библиотечные вызовы выполняются без эмуляции, что позволяет добиться значительного увеличения производительности.

Эмуляция кода, для которого отсутствуют родные для целевой платформы замены, выполняется с использованием техники динамической перекомпиляции (DynaRec) из одного набора машинных инструкций в другой. По сравнению с интерпретацией машинных инструкций динамическая перекомпиляция демонстрирует в 5-10 раз более высокую производительность.

В новой версии:

  • Представлен унифицированный декодировщик префиксов кода операций (prefix opcode decoder), задействованный в интерпретаторе и во всех бэкендах динамической перекомпиляции (DynaRec). Новый декодировщик более универсально обрабатывает редкие сочетания префиксов опкодов и позволяет обойтись без специфичных "хаков" и дублирования кода в интерпрететоре и бэкендах DynaRec. Переработка декодировщика привела к удалению лишнего кода, упрощению сопровождения кодовой базы и возможности работы DynaRec с нетипичными комбинациями префиксов опкодов.
  • Началась работа над механизмом для удаления из памяти блоков кода, сконвертированных в нативный код, но уже не используемых. Подобная оптимизация позволяет сократить потребление памяти при запуске приложений, выполняющих большой объём операций при запуске, таких как Steam и приложения, использующие libcef.
  • Улучшена поддержка архитектуры ARM64: Реализован сборочный профиль для CPU NVIDIA GB10. В бэкенде динамической перекомпиляции (DynaRec) продолжена реализация техник оптимизации циклов, таких как вынос операций выставления регистров XMM/YMM из тела цикла.
  • Повышена стабильность и производительность бэкенда динамической перекомпиляции для архитектуры RISC-V. Обеспечен корректный запуск Steam, Proton и Wine, но для работы с защищённым DRM-контентом, требующим эмуляции системных вызовов Windows, требуется оборудование с поддержкой 48-разрядного адресного пространства (SV48) или использование модифицированных сборок Wine и Proton.
  • Значительно продвинулась разработка бэкенда для архитектуры Loongarch, которая доведена до возможности запуска Steam, Wine и Proton, но пока отстаёт по функциональности от бэкенда для систем ARM64. Для работы пока требуется использование в ядре страниц памяти, размером 4K (по умолчанию для Loongarch обычно выставляется 16K). Производительности уже достаточно для запуска игр на CPU Loongarch 3A6000 (2.5 GHz c 4 физическими ядрами).

  • Повышена стабильность режима Box32, обеспечивающего поддержку 32-разрядных исполняемых файлов в Box64. В данном режиме отмечается повышение стабильность работы Steam на всех архитектурах и возможность использования внутриигровых оверлеев в некоторых OpenGL-играх.

  1. OpenNews: Выпуск эмулятора Box64 0.3.0, позволяющего запускать x86-игры на системах ARM64 и RISC-V
  2. OpenNews: Выпуск Hangover 10.11, пакета для запуска Windows-приложений на системах ARM64
  3. OpenNews: Выпуск Winlator 10.0, окружения для запуска Windows-приложений в Android
  4. OpenNews: В Wine интегрирована начальная поддержка ntsync для повышения производительности игр
  5. OpenNews: Новые версии эмуляторов Box86 и Box64, позволяющих запускать x86-игры на системах ARM
Обсуждение (47 +11) | Тип: Программы |
·03.01.2026 Обновление операционной системы MenuetOS 1.57.70, написанной на ассемблере (196 +67)
  Опубликован выпуск операционной системы MenuetOS 1.57.70, разработка ядра которой ведётся полностью на ассемблере. Сборки MenuetOS подготовлены для 64-разрядных систем x86 и могут быть запущены под управлением QEMU. Сборка системы занимает 1.4 МБ и сформирована в виде образа дискеты и iso-образа для записи на CD (поддерживается запуск в VirtualBox). Исходный код проекта Menuet64 распространяются под ограничивающей лицензией, требующей согласования любого использования в коммерческих целях, а Menuet32 - под лицензией GPL.

Система поддерживает вытесняющую многозадачность, загрузку на системах с UEFI и SMP на многоядерных системах. Проектом также развивается собственный X-сервер и предоставляется встроенный графический интерфейс пользователя с поддержкой тем оформления, операций Drag&Drop, кодировки UTF-8 и переключений клавиатурных раскладок. Для разработки приложений на языке ассемблера предлагается собственная интегрированная среда разработки.

В операционной системе доступны сетевой стек, драйверы для Ethernet и USB 2.0, звуковые кодеки AC97 и Intel HDA (ALC662/888). Проектом развивается простой web-браузер HTTPC, почтовый и ftp клиенты, VNC-клиент, серверы ftp и http, приложения для просмотра изображений, редактирования текстов, работы с файлами, просмотра видео, воспроизведения музыки. Для навигации по файлам предлагается использовать файловый менеджер NDN (Necromancer's Dos Navigator), портированный для MenuetOS.

Возможен запуск DOS-эмулятора и таких игр, как Quake и Doom. Совместимость с Linux обеспечивается при помощи базового слоя POSIX, позволяющего создавать GUI-приложения, которых могут запускаться в Menuet и Linux/X11, а также собственного X-сервера, написанного на ассемблере, в который можно перенаправить вывод приложения, запущенного на внешней системе с Linux, для отображения его интерфейса в MenuetOS.

Из недавних изменений:

  • Прослойки совместимости с Linux и X11 достигли состояния, позволяющего запускать простые X11-приложений, такие как XCalc, XEyes, XClock и простые игры, собранные для Linux (запуск подобных программ не требует перекомпиляции - можно запускать существующие исполняемые файлы, скопированные из дистрибутивов Linux). В MenuetOS также улучшена поддержка существующих Linux-библиотек - протестирована возможность использования около 100 сборок библиотек из состава Linux Mint.
  • Предложено новое основное меню и добавлен новый набор сжатых пиктограмм.
  • Добавлен MIDI Sequencer.
  • Реализована поддержка libssl и libcrypto. Добавлена утилита загрузки web-страниц fetch, поддерживающая HTTPS.
  • Улучшен конфигуратор.
  • Ускорена работа сетевого стека. Расширена поддержка DHCP.
  • До версии 3.00.0012 обновлён файловый менеджер NDN (Necromancer's Dos Navigator).
  • Улучшено приложение Webcall для работы с web-камерой.
  • Улучшены утилиты ftps и ftpc
  • Расширены возможности развиваемого проектом X-сервера.

  1. OpenNews: Обновление ОС KolibriN 10.1 и MenuetOS 1.34, написанных на ассемблере
  2. OpenNews: Выпуск операционной системы MenuetOS 1.0, написанной на ассемблере
  3. OpenNews: Релиз эмулятора DOSBox Staging 0.81
  4. OpenNews: asmttpd - http-сервер на ассемблере
  5. OpenNews: Интервью с разработчиками KolibriOS
Обсуждение (196 +67) | Тип: Программы |
·02.01.2026 Выпуск сервера потокового вещания Icecast 2.5 (16 +16)
  Опубликован выпуск Icecast 2.5.0, сервера для организации потокового вещания звука и видео по сети. Поддерживается вещание с использованием форматов Ogg Vorbis, Ogg Theora, Opus, FLAC, WebM (VP8/VP9), а также проприетарных кодеков, таких как MP4 (H.264, MPEG4), M4A, NSV, AAC и MP3. Код написан на языке Си и распространяется под лицензией GPLv2.

Платформа была создана в качестве альтернативы проприетарной системе Shoutcast и получила основное распространение в начале 2000-х годов для создания интернет-радиостанций. Параллельно проектом разрабатывается библиотека libshout для взаимодействия с серверами на базе Icecast и программа IceS для отправки звуковых потоков на серверы Icecast. Разработку курирует организация Xiph.Org Foundation.

Прошлая значительная ветка Icecast 2.4 была опубликована в 2014 году. Среди изменений в Icecast 2.5:

  • Модернизирован web-интерфейс.
  • В интерфейс администратора добавлена поддержка ролей.
  • Добавлен экспериментальный тёмный режим оформления.
  • Добавлена поддержка передачи событий о числе подключённых клиентов.
  • Добавлена поддержка заголовка "X-Forwarded-For" для передачи сведений об IP-адресе оригинального запроса после проброса соединения через виртуальный сетевой сокет.
  • Оптимизировано потребление памяти при работе с TLS-клиентами.
  • В API расширены метаданные, передаваемые клиентам.

  1. OpenNews: Компания AOL добилась удаления поддержки SHOUTcast из VLC
  2. OpenNews: Выпуск серверов для потокового вещания Roc 0.1, Ant 1.7 и Red5 1.1.1
  3. OpenNews: Программа для организации потокового вещания msd открыта под лицензией BSD
  4. OpenNews: Выпуск сервера потокового вещания Owncast 0.1.2
  5. OpenNews: Выпуск системы потокового видеовещания OBS Studio 32.0
Обсуждение (16 +16) | Тип: Программы |
·02.01.2026 Выпуск OneScript 2.0.0, среды исполнения скриптов на языке 1С:Предприятие (109 +11)
  Опубликован выпуск проекта OneScript 2.0.0, развивающего независимую от компании 1С кроссплатформенную виртуальную машину и компилятор для выполнения скриптов на языке 1С:Предприятие. Система самодостаточна и позволяет выполнять скрипты на языке 1С без установки платформы 1С:Предприятие и специфичных для неё библиотек. Виртуальную машину OneScript можно использовать как для прямого исполнения сценариев на языке 1С, так и для встраивания поддержки их исполнения в приложения, написанные на других языках. Код проекта написан на языке С# и распространяется под лицензией MPL-2.0. Поддерживается работа в Linux, Windows и macOS.

OneScript поддерживает все возможности языка 1С, включая нестрогую типизацию, условные выражения, циклы, исключения, массивы, регулярные выражения, COM-объекты и встроенные функции для работы с примитивными типами. Стандартная библиотека предоставляет функции для работы с файлами и строками, взаимодействия с системой, обработки JSON и XML, сетевого доступа и использования протокола HTTP, математических вычислений, работы с макетами.

Изначально система рассчитана на разработку консольных приложений на языке 1С, но сообществом развивается библиотека OneScriptForms, позволяющая создавать приложения с графическим интерфейсом. Кроме стандартной библиотеки и OneScriptForms для OneScript доступно около 200 пакетов с дополнительными библиотеками и утилитами. Для упрощения установки и распространения библиотек предлагается пакетный менеджер opm.

В новой версии:

  • Осуществлён переход на унифицированную платформу .NET (объединяет .NET Framework, .NET Core и Mono), позволивший обойтись без использования Mono в Linux и macOS. Из-за замены базовой платформы потеряна бинарная совместимость с существующими внешними компонентами (dll) и требуется перекомпиляция компонентов под новую версию .NET (как минимум, под слой совместимости netstandard 2.0).
  • Помимо выполнение кода в стековой виртуальной машине добавлена поддержка native-компиляции. Реализован строго-типизированный статический компилятор для высоконагруженных участков кода, позволяющий компилировать язык 1С напрямую в коды машины .NET, а затем в машинный код, демонстрирующий производительность на уровне чистого C#.
  • Для компиляции модулей новым компилятором и выполнения новой средой исполнения добавлена директива #native. Подобный код должен быть строго типизированным, поэтому не все привычные конструкции языка 1С работают (например, не всегда можно записывать в одну и ту же переменную значения разных типов).
  • Реализована возможность создания самодостаточных сборок, не требующих установки .NET на целевую систему (компоненты .NET встраиваются в поставку).
  • Проведён глубокий рефакторинг ядра 1Script и добавлен новый парсер языка, реализованный в виде отдельной библиотеки OneScript.Language и позволяющий создавать независимые инструменты анализа кода, обфускаторы и трансляторы. Повышена производительность 1Script.
  • Упрощена интеграция среды исполнения в сторонние приложения.
  • Добавлен встроенный http-сервер на базе Kestrel.

  1. OpenNews: Новая версия свободной системы SalesPlatform Vtiger CRM поддерживает интеграцию с 1С
  2. OpenNews: Финальная версия платформы 1С:Предприятие 8.3 с реализацией полноценной поддержки Linux
  3. OpenNews: Новый отечественный дистрибутив Linux - "ОСь"
  4. OpenNews: Rac GUI - многоплатформенный GUI для управления кластером серверов 1С:Предприятия
  5. OpenNews: ЯОС - прототип безопасной русскоязычной операционной системы на базе проекта A2
Обсуждение (109 +11) | Тип: Программы |
·01.01.2026 Релиз мультимедийной библиотеки SDL 3.4.0 (134 +18)
  Представлен релиз библиотеки SDL 3.4.0 (Simple DirectMedia Layer). Библиотека нацелена на упрощение написания игр и мультимедийных приложений, и предоставляет такие возможности, как аппаратно-ускоренный вывод 2D- и 3D-графики, обработка ввода, воспроизведение звука и вывод 3D через OpenGL, OpenGL ES, Metal, Direct3D или Vulkan. Код написан на языке Си и распространяется под лицензией Zlib. Предоставляются обвязки для использования SDL в проектах на различных языках программирования.

SDL 3.4.0 является второй значительной стабильной веткой в серии SDL 3.x - первой стабильной веткой была объявлена серия 3.2.x, а ветка 3.3.x позиционировалась как экспериментальная. Главные изменения в SDL 3.4.0 связаны с улучшением переносимости между API 3D GPU и API для двумерной отрисовки, расширением поддержки сборки в WebAssembly при помощи компилятора Emscripten, улучшению работы с графическими планшетами и цифровыми перьями, появлению встроенной поддержки формата изображений PNG.

Среди новых возможностей в SDL 3.4.0:

  • Добавлена встроенная поддержка изображений в формате PNG, для работы с которыми предложены функции SDL_LoadPNG(), SDL_LoadPNG_IO(), SDL_SavePNG() и SDL_SavePNG_IO(). Для определения формата (PNG или BMP) и загрузки изображений в качестве поверхностей добавлены функции SDL_LoadSurface() и SDL_LoadSurface_IO().
  • Добавлена функция SDL_RotateSurface() для создания повёрнутой копии поверхности.
  • Добавлена функция SDL_CreateAnimatedCursor() для создания цветных анимированных курсоров, а также признак SDL_HINT_MOUSE_DPI_SCALE_CURSORS для автоматического масштабирования курсоров в привязке к уровню масштабирования экрана.
  • Добавлены функции SDL_SetWindowProgressState(), SDL_SetWindowProgressValue(), SDL_GetWindowProgressState() и SDL_GetWindowProgressValue() для показа прогресса операции в пиктограмме приложения в панели задач.
  • Добавлены свойства для использования GPU API со старым оборудованием.
  • Добавлено свойство SDL_PROP_GPU_DEVICE_CREATE_VULKAN_OPTIONS_POINTER и SDL_PROP_GPU_DEVICE_CREATE_VULKAN_REQUIRE_HARDWARE_ACCELERATION_BOOLEA для настройки и задействования возможностей API Vulkan при создании устройств GPU.
  • Добавлена функция SDL_GetGPUDeviceProperties() для запроса информации об GPU.
  • Добавлены функции SDL_CreateGPURenderer() и SDL_GetGPURendererDevice() для задействования GPU при 2D-отрисовке, а также SDL_SetGPURenderStateFragmentUniforms(), SDL_SetGPURenderState() и SDL_DestroyGPURenderState() для задействования фрагментных шейдеров при 2D-отрисовке.
  • При 2D-отрисовке при помощи GPU реализована поддержка YUV-текстур и HDR. Добавлена поддержка текстур с палитрами, для работы с которыми добавлены функции SDL_GetTexturePalette() и SDL_SetTexturePalette(). Добавлены функции SDL_GetPixelFormatFromGPUTextureFormat() и SDL_GetGPUTextureFormatFromPixelFormat() для преобразования форматов текстур, а также параметры SDL_PROP_TEXTURE_CREATE_GPU_TEXTURE_POINTER и SDL_PROP_TEXTURE_GPU_TEXTURE_POINTER для создания 2D-текстур из GPU-текстур. Для настройки текстур добавлены функции SDL_RenderTexture9GridTiled(), SDL_GetDefaultTextureScaleMode(), SDL_SetDefaultTextureScaleMode(), SDL_GetRenderTextureAddressMode(), SDL_SetRenderTextureAddressMode().
  • Добавлен параметр SDL_SCALEMODE_PIXELART для использования оптимизированного для пиксельной графики алгоритма масштабирования.
  • Реализованы события SDL_EVENT_DISPLAY_USABLE_BOUNDS_CHANGED, SDL_EVENT_SCREEN_KEYBOARD_SHOWN, SDL_EVENT_SCREEN_KEYBOARD_HIDDEN, SDL_EVENT_PINCH_BEGIN, SDL_EVENT_PINCH_UPDATE, SDL_EVENT_PINCH_END и SDL_EVENT_AUDIO_DEVICE_ADDED, срабатывающие при изменении границ, появлении/скрытии экранной клавиатуры, экранных жестах и добавлении звукового устройства.
  • Добавлены функции SDL_PutAudioStreamDataNoCopy() и SDL_PutAudioStreamPlanarData() для более эффективной обработки звуковых потоков.
  • Добавлена поддержка игровых контроллеров Nintendo Switch 2, подключённых через USB. Расширена поддержка контроллеров 8BitDo, FlyDigi и Hand Held Legend SInput.
  • Для улучшения работы WebAssembly-приложений, собираемых при помощи компилятора Emscripten, добавлена функция SDL_SetWindowFillDocument() и реализованы параметры SDL_WINDOW_FILL_DOCUMENT, SDL_PROP_WINDOW_CREATE_EMSCRIPTEN_CANVAS_ID_STRING и SDL_PROP_WINDOW_CREATE_EMSCRIPTEN_KEYBOARD_ELEMENT_STRING.
  • На платформе Linux реализована поддержка атомарных операций при использовании KMSDRM, активируемых при помощи свойства SDL_HINT_KMSDRM_ATOMIC. Добавлен параметр SDL_PROP_DISPLAY_WAYLAND_WL_OUTPUT_POINTER для запроса устройства вывода wl_output, ассоциированного с экраном, в окружениях на базе Wayland.

  1. OpenNews: Релиз мультимедийной библиотеки SDL 3
  2. OpenNews: Проект SDL3Lite развивает версию библиотеки SDL3 с поддержкой старых систем
  3. OpenNews: В библиотеке SDL3 отменяют переход на Wayland по умолчанию (отмена отложена)
  4. OpenNews: Первый выпуск sdl12-compat, слоя совместимости с SDL 1.2, работающего через SDL 2
  5. OpenNews: Мультимедийная библиотека SDL переходит на использование Wayland по умолчанию
Обсуждение (134 +18) | Тип: Программы |
·31.12.2025 Выпуск видеоредакторов Shotcut 25.12, OpenShot 3.4, Kdenlive 25.12 и Flowblade 2.24 (26 +15)
  Опубликован релиз видеоредактора Shotcut 25.12, развиваемого автором проекта MLT и использующего данный фреймворк для редактирования видео. Поддержка форматов видео и звука реализована через FFmpeg. Возможно использование плагинов с реализацией видео и аудио эффектов, совместимых с Frei0r и LADSPA. Из особенностей Shotcut можно отметить возможность многотрекового редактирования с компоновкой видео из фрагментов в различных исходных форматах, без необходимости их предварительного импортирования или перекодирования. Имеются встроенные средства для создания скринкастов, обработки изображения с web-камеры и приёма потокового видео. Код написан на C++ с использованием фреймворка Qt и распространяется под лицензией GPLv3. Готовые сборки доступны для Linux (AppImage и snap), macOS и Windows.

Среди изменений в новом выпуске:

  • Повышена глубина цвета при обработке видео с использованием CPU - данные теперь передаются между фильтрами с 10- или 12-битным представлением цвета на канал. На 10-битное представление переведены многие эффекты, включая переходные эффекты и операции смешивания дорожек. Ранее 10-битное представление поддерживалось только в отдельных эффектах и фильтрах, использующих GPU, а операции выполняемые на базе CPU выполнялись в 8-битном представлении, даже если исходное видео имело более высокую глубину цвета.
  • Осуществлён переход к обработке изображений в линейном цветовом пространстве, позволяющем избежать искажений цвета при смешивании пикселей во время масштабирования, размытия или наложения. Использование линейного цветового пространства требует больше вычислений из-за преобразований и сильно отстаёт по производительности от старого режима, поэтом у настройках предоставлена возможность выбора режима работы и разрядности цвета (подменю Settings > Processing Mode): "Native 8-bit CPU" (самый быстрый и совместимый с фильтрами), "Native 10-bit CPU" (медленнее, но лучше по качеству), "Linear 10-bit CPU" (самый медленный, но наилучший по качеству) и Linear 10-bit GPU/CPU (экспериментальный).
  • В меню "Filters" добавлено выпадающее меню для навигации по фильтрам, подходящим для выбранного режима обработки (GPU, 10-bit, Color, RGBA и YUV).
  • В меню "Filters" обеспечен вывод по умолчанию фильтров цвета в контексте операций работы с цветом и фильтров звука в контексте операций со звуком.
  • Добавлен интерфейс для навигации по пресетам для генератора изображений или видео на основе шаблонов в формате HTML (New > Image/Video from HTML). Добавлено два новых HTML-пресета: Chrome и Neon Flux для наложения текста на видео с эффектом хромирования и неонового свечения.
  • В функцию создания скриншотов добавлена кнопка для сворачивания интерфейса Shotcut, а в функцию записи видео с содержимым экрана добавлена опция для записи звука.
  • На платформе Linux/X11 добавлена поддержка использования nvenc для записи видео с содержимым экрана.
  • В функцию извлечения субтитров добавлена поддержка форматов mov_text и SSA.
  • Улучшена совместимость сборок в форматах AppImage, Portable и Snap с аппаратными кодировщиками видео, доступными через VA-API.



Дополнительно можно отметить декабрьские релизы редакторов видео:

  • OpenShot 3.4.0. Редактор отличается простым пользовательским интерфейсом, позволяющим редактировать видео даже начинающим пользователям. Программа поддерживает несколько десятков визуальных эффектов, даёт возможность работы с многотрековыми монтажными шкалами с возможностью перемещения мышью элементов между ними, позволяет масштабировать, кадрировать, осуществлять слияние блоков видео, обеспечивать плавное перетекание из одного ролика в другой, производить наложение полупрозрачных областей и т.п. Имеется возможность перекодирования видео с предварительным просмотром изменений на лету. Код проекта поставляется под лицензией GPLv3: интерфейс написан на Python и PyQt5, ядро обработки видео (libopenshot) написано на C++ и использует возможности пакета FFmpeg, интерактивная шкала времени написана с использованием HTML5, JavaScript и AngularJS. Готовые сборки подготовлены для Linux (AppImage), Windows и macOS.

    В OpenShot 3.4.0 отмечается значительное повышение производительности (в среднем на 32%); снижение потребления памяти; добавление новых видеоэффектов (Sharpen, Color Map, Spherical Projection, Outline и Lens Flare); появление функции интерактивного кадрирования; добавление возможности растягивания или уменьшения времени воспроизведения через перетаскивание края клипа; поддержка перетаскивания ключевых кадров на временной шкале с live-предпросмотром; улучшенный импорт/экспорт форматов Final Cut Pro XML и EDL. Предложена для тестирования новая экспериментальная реализация временной шкалы.

  • Kdenlive 25.12.0. Редактор развивается проектом KDE и нацелен на полупрофессиональное использование. Поддерживается работа с видеозаписями в форматах DV, HDV и AVCHD и предоставляются все основные операции по редактированию видео. Например, редактор позволяет - используя временную шкалу - произвольно смешивать видео, звук и изображения, а также применять многочисленные эффекты. При работе программы используются такие внешние компоненты, как FFmpeg, фреймворк MLT и система оформления эффектов Frei0r. Для установки в ближайшее время будет подготовлен самодостаточный пакет в формате AppImage.

    В новой версии Kdenlive предложена новая гибкая система закрепления элементов интерфейса (docking system), позволяющая группировать виджеты и отображать/скрывать их при необходимости. Раскладки элементов интерфейса можно сохранять внутри проекта или в отдельных файлах для совместного использования. Добавлено окно "Welcome Screen" с ознакомительной информацией для новичков. Реорганизовано содержимое меню. Переделано представление для визуализации звуковой волны.

  • Flowblade 2.24. Многотрековый редактор видео, предназначенный для компоновки видеороликов из отдельных видео, звуковых файлов и изображений. Редактор предоставляет средства для обрезки клипов с точностью до отдельных кадров, использования фильтров, определения своего порядка применения инструментов, корректировки поведения шкалы времени, композитинга изображений (например, можно поворачивать, постепенно замещать и создавать переходные эффекты). Код проекта написан на языке Python с использованием фреймворка MLT и распространяется под лицензией GPLv3. Сборки подготовлены в формате Flatpak.

    В новой версии Flowblade улучшена синхронизация связанных клипов (дочерние клипы теперь могут следовать за изменением при усечении родительского клипа); добавлены новые способы объединения нескольких фрагментов в один объект (выделение рамкой и выбор интервала на временной шкале); внесена серия мелких изменений в интерфейс; продолжена адаптация кодовой базы для GTK4.

  1. OpenNews: Выпуск видеоредактора Shotcut 25.10
  2. OpenNews: Релиз программы для редактирования видео LosslessCut 3.66
  3. OpenNews: Проект OpenCut развивает открытую альтернативу видеоредактору CapCut
  4. OpenNews: Доступен видеоредактор Flowblade 2.22
  5. OpenNews: Выпуск свободного видеоредактора OpenShot 3.2.0
Обсуждение (26 +15) | Тип: Программы |
·31.12.2025 Проект Curl избавился от использования функции strcpy в коде (267 +23)
  Дэниел Cтенберг (Daniel Stenberg), автор утилиты для получения и отправки данных по сети curl, объявил о прекращении использования функции strcpy() в кодовой базе проекта и запрете применения данной функции в дальнейшем. Решение является продолжением инициированного в прошлом году отказа от использования функции strncpy(), копирующей заданное число байт из входящей строки. Применение strncpy() создавало опасность возникновения ошибок из-за пропуска нулевого символа в конце строки или добавочного заполнения нулями.

Обращения к strncpy() были заменены на функцию strcpy(), перед вызовом которой выполнялось выделение памяти под целевой буфер c учётом размера исходной строки или присутствовала проверка соответствия размера исходной строки и целевого буфера. Замена на функцию strlcpy() не была произведена, так как требовалось всегда копировать всю строку целиком или возвращать ошибку.

Теперь все вызовы strcpy() заменены на новую функцию curlx_strcopy(dest, dsize, src, slen). Функция curlx_strcopy() требует указания размера исходного и целевого буфера с расчётом, что целевой буфер обязательно должен быть больше исходного для вмещения нулевого символа конца строки, который принудительно добавляется функцией в конец для исключения его пропуска при копировании. Если размер целевого буфера больше нуля, но его недостаточно для копирования целевой строки, то в начало добавляется нулевой байт.


   void curlx_strcopy(char *dest,
                   size_t dsize,
                   const char *src,
                   size_t slen)
   {
     DEBUGASSERT(slen < dsize);
     if(slen < dsize) {
       memcpy(dest, src, slen);
       dest[slen] = 0;
     }
     else if(dsize)
       dest[0] = 0;
   }

Замена strcpy() на curlx_strcopy() произведена, так как существует вероятность человеческой ошибки, приводящей к разделению кода с проверкой/выделением памяти и вызовом strcpy(), например, при необдуманном переносе лишь части кода или вставки кода между проверкой и вызовом strcpy(). Кроме того, прекращение использования strcpy позволит избавиться от потока ложных сообщений об уязвимостях из-за некорректных срабатываний AI-инструментов, считающих наличие strcpy() уязвимостью без учёта имеющихся в коде проверок.

  1. OpenNews: Утилита wcurl принята в состав проекта Curl
  2. OpenNews: Доступны утилиты wget 1.25 и Curl 8.11. Представлены платные LTS-выпуски Curl
  3. OpenNews: Проблемы из-за подготовленных AI-инструментами отчётов об уязвимостях
  4. OpenNews: Переполнение буфера в curl и libcurl, проявляющееся при обращении через SOCKS5-прокси
  5. OpenNews: В CVE опубликованы отчёты о ложных уязвимостях в curl, PostgreSQL и других проектах
Обсуждение (267 +23) | Тип: Обобщение |
Следующая страница (раньше) >>



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2026 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру