Доступен выпуск проекта Frigate 0.14, предоставляющего средства для создания сетевых видеорегистраторов (NVR, Network Video Recorder) в реальном режиме времени анализирующих видео, передаваемое с IP-камер видеонаблюдения, а также выявляющих и фиксирующих изменения и объекты. Например, система может сохранять изображений людей, проходивших мимо камеры. Для выявления объектов используется модель машинного обучения, выполняемая на локальной системе без обращения к внешним сервисам. Код платформы написан на языке Python и распространяется под лицензией MIT.
Для обработки передаваемых с камеры изображений и определения объектов используются OpenCV и Tensorflow. Система оптимизирована для минимального потребления ресурсов и использует многопроцессную модель запуска моделей. Для снижения нагрузки определение объектов выполняется только в привязке к определению изменений и движения. Возможна интеграция с различными системами домашней автоматизации, поддерживающими протокол MQTT (Message Queuing Telemetry Transport), такими как Home Assistant и OpenHab. Управление производится через web-интерфейс, который может быть интегрирован непосредственно в интерфейс Home Assistant.
Из особенностей упоминается низкий уровень ложных срабатываний, возможность раздельного определения объектов (люди, машины), поддержка опционального задействования устройств Google Coral TPU для ускорения обработки видео в режиме реального времени (Frigate может обрабатывать более 100 операций определения объектов в секунду), возможность определения зон срабатывания и точного времени вторжения, гибкая система отправки оповещений. Система также поддерживает ретрансляцию видео и просмотр в Live-режиме при помощи WebRTC и RTSP, что позволяет снизить число подключений к камере.
Новый выпуск примечателен добавлением нового полностью переписанного интерфейса пользователя, который оптимизирован для настольных и мобильных систем. Интерфейс позволяет быстро оценить состояние в данный момент и изучить недавно произошедшие события, получить live-доступ к изображению камер, просмотреть сводное состояние камер и отследить историю событий, которые наглядно отобраюатся в виде анимированных миниатюр. Добавлена поддержка аутентификации, определения ролей доступа (администратор, пользователь) и подключения с использованием прокси, таких как authelia, authentik и oauth2_proxy.
Улучшен интерфейс для пересмотра записанного видео, в котором теперь можно быстро переключаться между моментами, на которых зафиксировано движение и выявлены объекты. Выявленные события разделены на категории важности и типы объектов, добавлена возможность фильтрации на основе приоритетов (например, ситуация пересечения человеком границы собственности имеет более высокий приоритет, чем определение рядом гуляющего человека). Реализована возможность разделения камер на группы.
Доступен выпуск проекта Frigate 0.14, предоставляющего средства для создания сетевых видеорегистраторов (NVR, Network Video Recorder) в реальном режиме времени анализирующих видео, передаваемое с IP-камер видеонаблюдения, а также выявляющих и фиксирующих изменения и объекты. Например, система может сохранять изображений людей, проходивших мимо камеры. Для выявления объектов используется модель машинного обучения, выполняемая на...
Дэниел Cтенберг (Daniel Stenberg), автор утилиты для получения и отправки данных по сети curl, объявил о принятии в состав проекта утилиты wcurl. Утилита wcurl теперь признана официальным проектом curl, но при этом её разработка будет продолжена прежними сопровождающими в отдельном репозитории, независимо от curl. Утилиту развивает один из мэйнтейнеров Debian, сопровождающий пакет с curl. В Debian Testing, Debian Unstable и в бэкпортах Debian 12 утилита wcurl уже поставляется в составе пакета curl. Код утилиты wcurl написан на Shell и распространяется под лицензией Curl (вариант лицензии MIT).
Новая утилита представляет собой обвязку над curl, реализующую упрощённый интерфейс для загрузки файлов, напоминающий по принципу запуска утилиту wget и избавляющий пользователя от необходимости запоминать специфичные параметры запуска curl (например, многим проще установить wget, чем каждый раз набирать "curl -L -O -C --remote-time"). В отличие от curl утилита wcurl позволяет указать сразу несколько ссылок для загрузки, автоматически обрабатывает перенаправления и предпринимает повторные попытки загрузки в случае сбоев.
Вместо вывода в стандартный поток wcurl сохраняет загруженную информацию в файлы, имена которых выбираются на основе содержимого указанных ссылок или имени, возвращённом сервером, а время изменения файла выставляется в значение, которое сервер возвращает в HTTP-заголовке Last-modified. Если файл с выбранным именем уже существует, wcurl не перезаписывает его, а добавляет дополнительную цифру к имени. При указании нескольких ссылок, обеспечивается их параллельная загрузка.
Утилита также отключает обработку подстановок "{}" и "[]" в URL и допускает использование пробелов в ссылках, самостоятельно заменяя их на формат "%xx". При помощи опции "--curl-options" пользователю предоставляется возможность задания любых опций curl, а через опцию "--dry-run" определения строки для запуска curl без фактического выполнения операции.
В анонсе также упоминается утилита trurl, созданная автором curl в прошлом году и дополняющая curl возможностями для разбора и манипуляции URL. При помощи утилиты trurl можно в скриптах быстро выполнять такие действия, как замена имени хоста, страниц и отдельных параметров в ссылке, выделение хоста и пути из ссылки, преобразование URL в раздельное представление элементов в формате JSON. Код trurl написан на C и Perl, и распространяется под лицензией Curl.
Дэниел Cтенберг (Daniel Stenberg), автор утилиты для получения и отправки данных по сети curl, объявил о принятии в состав проекта утилиты wcurl. Утилита wcurl теперь признана официальным проектом curl, но при этом её разработка будет продолжена прежними сопровождающими в отдельном репозитории, независимо от curl. Утилиту
В поставляемом в составе FreeBSD сервере OpenSSH выявлена уязвимость (CVE-2024-7589), позволяющая добиться удалённого выполнения кода с правами root без прохождения аутентификации. Уязвимость является вариантом выявленной в начале июля проблемы в OpenSSH (CVE-2024-6387) и также вызвана состоянием гонки, возникающем из-за выполнения в обработчике сигналов функций, не рассчитанных на вызов в асинхронном режиме.
Разработчики FreeBSD устранили исходную июльскую уязвимость сразу после анонса, но исправление не охватывало всех возможных векторов атаки. Исправление сводилось к отключению вызова функции sshlogv, выделяющей память динамически, что при асинхронном выполнении могло привести к повреждению внутренних структур malloc при срабатывании обработчика сигнала SIGALRM во время выполнения определённого кода. Как оказалось, похожая проблема возникала в специфичном для FreeBSD вызове функции blacklist_notify, обеспечивающем интеграцию с фоновым процессом blacklistd.
Помимо применения патча, уязвимость можно блокировать через выставление в /etc/ssh/sshd_config параметра "LoginGraceTime=0", но при этом отключение таймаута упростит инициирование отказа в обслуживании при установке большого числа соединений, превышающих лимиты, заданные через параметр MaxStartups.
Кроме того, устранены ещё три уязвимости во FreeBSD:
- CVE-2024-6760 - возможность обхода защиты от применения ktrace для трассировки suid-процессов, что позволяет непривилегированному пользователю получить доступ к содержимому файлов, для чтения которых у него нет прав, например, можно прочитать содержимое файла с хэшами паролей пользователей.
- CVE-2024-6759 - в NFS-клиенте выявлена возможность использования в именах файлов символов разделения путей ".." и "/";
- CVE-2024-6640 - уязвимость в пакетном фильтре PF, из-за которой пакеты ICMPv6 с нулевым идентификатором не подпадали под правила межсетевого экрана, рассчитанные на то, что входящие пакеты отражаются в таблице состояния (state table).
В поставляемом в составе FreeBSD сервере OpenSSH выявлена уязвимость (CVE-2024-7589), позволяющая добиться удалённого выполнения кода с правами root без прохождения аутентификации. Уязвимость является вариантом
В рамках проекта Verso ведётся разработка нового web-браузера, построенного на основе движка Servo. Код Verso, как и Servo, написан на языке Rust и распространяется под лицензиями MIT и Apache 2.0. Браузер пока находится на ранней стадии развития и, помимо предоставляемых движком Servo средства для обработки web-контента, реализует простой интерфейс пользователя. Готовые для тестирования сборки публикуются для Linux (flatpak), Windows и macOS.
Отрисовка в Verso осуществляется с использованием собственного композитного менеджера, использующего OpenGL и взаимодействующего с Servo при помощи средств обмена сообщениями, предоставляемых фреймворком Constellation. В настоящее время работа сосредоточена на реализацииподдержки многооконного интерфейса, использующего разные контексты отрисовки в одном экземпляре движка Servo. Из дальнейших планов развития проекта упоминается поддержка мноопроцессного режима, sandbox-изоляция для всех платформ и задействование возможностей мультимедийного фреймворка Gstreamer.
Проект Servo изначально развивался компанией Mozilla, но затем перешёл под покровительство организации Linux Foundation. Движок отличается поддержкой многопоточного рендеринга web-страниц, распараллеливанием операций с DOM (Document Object Model) и задействованием предоставляемых языком Rust механизмов безопасного программирования. Servo изначально создан с поддержкой разбиения кода DOM и рендеринга на более мелкие подзадачи, которые могут выполняться параллельно и более эффективно использовать ресурсы многоядерных CPU. В Firefox уже интегрированы некоторые части Servo, такие как многопоточный CSS-движок и система отрисовки WebRender.
Из связанных с Servo проектов также можно отметить сотрудничество разработчиков Servo и операционной системы Redox, разрабатываемой на Rust и использующей концепцию микроядра. Отмечается, что команды Servo и Redox подали заявку на получение гранта для портирования JavaScript-движка SpiderMonkey и Servo WebRender, улучшения инструментов для кросс-компиляции Servo и написания на языке Rust стека для работы с шрифтами.
В рамках проекта Verso ведётся разработка нового web-браузера, построенного на основе движка Servo. Код Verso, как и Servo, написан на языке Rust и распространяется под лицензиями MIT и Apache 2.0. Браузер пока находится на ранней стадии развития и, помимо предоставляемых движком Servo средства для обработки web-контента, реализует простой интерфейс пользователя. Готовые для тестирования сборки
После более года разработки подготовлен первый рабочий порт браузера Firefox для открытой операционной системы Haiku, продолжающей развитие идей BeOS. Готовые установочные сборки пока не публикуются, для желающих использовать Firefox в Haiku предлагается выполнить сборку из исходных текстов. До сих пор в Haiku предлагались браузеры WebPositive, Epiphany и Falkon, использование которых создавало трудности из-за излишнего подозрительного отношения к ним некоторых сетей доставки контента и крупных сайтов.
По данным одного из разработчиков Haiku в начале 2000-х годов энтузиасты ОС BeOS стали одними из вдохновителей создания Firefox. В то время в рамках проекта Bezilla развивался порт пакета Mozilla Suite для ОС BeOS. Так как пакет был слишком раздут связанное с BeOS сообщество попыталось создать на его основе легковесный вариант, в котором был оставлен только бразуер и удалены все остальные компоненты, такие как почтовый клиент и редактор web-страниц. Разработчики из Mozilla посчитали идею заслуживающей внимания и выпустили собственный обособленный вариант браузера под именем Phoenix, из-за пересечения с торговой маркой переименованный в Firebird, а затем ещё раз переименованный в Firefox из-за пересечения с названием свободной СУБД.
После более года разработки подготовлен первый рабочий порт браузера Firefox для открытой операционной системы Haiku, продолжающей развитие идей BeOS. Готовые установочные сборки пока не публикуются, для желающих использовать Firefox в Haiku предлагается выполнить сборку из
Разработчики экспериментального браузера Ladybirdобъявили о намерении использовать язык программирования Swift в качестве основного для своего проекта. Включение в состав кода на Swift планируется начать осенью, после выхода релиза Swift 6 (использовать ветку Swift 5 мешает привязка к старой версии Clang, несовместимой с текущей кодовой базой Ladybird на С++). Благодаря возможности совмещения кода на С++ и Swift, внедрение Swift будет производиться постепенно без переписывания имеющегося кода.
Выбор Swift обусловлен рядом преимуществ, включая безопасные методы работы с памятью, защиту от состояний гонки, современный синтаксис и эргономику. Особое значение для команды Ladybird имеет объектно-ориентированная природа Swift, что позволяет точнее моделировать веб-спецификации и внутренние компоненты браузера. Разработчики также отмечают улучшающуюся поддержку Swift для не-Apple платформ и активную работу над совместимостью с C++, что открывает путь к постепенному внедрению языка в проект. Несмотря на исторические связи Swift с Apple, язык становится всё более независимым, о чём свидетельствует, например, перенос его репозитория в отдельную организацию на GitHub.
Андреас Клинг, основатель проекта Ladybird, поделился своими мыслями о Rust. По мнению Клинга, хотя Rust обладает впечатляющей экосистемой, он менее удобен для разработки долгоживущих программ с большими сложными графами объектов. Кроме того, Клинг охарактеризовал сообщество Rust как "токсичное".
Напомним, что изначально браузер Ladybird развивался в рамках проекта по разработке операционной системы SerenityOS. В июне 2024 года, Андреас Клинг, который в своё время работал в компании Nokia и занимался разработкой Safari, решил отделить проект браузера от проекта операционной системы, и полностью посвятить своё время его разработке. В июле проект получил пожертвование в 1 млн. долларов и приступил к формированию некоммерческой организации Ladybird Browser Initiative.
Браузер написан на языке С++ и распространяется под лицензией BSD. Проектом развивается собственный движок LibWeb, JavaScript-интерпретатор LibJS, библиотека отрисовки текста и 2D-графики LibGfx, движок для регулярных выражений LibRegex, XML-парсер LibXML, интерпретатор промежуточного кода WebAssembly (LibWasm), библиотека для работы с Unicode LibUnicode, библиотека для преобразования текстовых кодировок LibTextCodec, парсер для разметки Markdown (LibMarkdown), библиотеки с криптографическими примитивами (LibCrypto, LibTLS), библиотека для работы с архивами LibArchive, библиотеки для воспроизведения звука и видео (LibAudio, LibVideo) и библиотека LibCore с общим набором полезных функций, таких как преобразование времени, ввода/вывод и обработка MIME-типов.
В Ladybird применяется многопроцессная архитектура, в которой занимающийся формированием интерфейса процесс отделён от процессов, обеспечивающих обработку web-контента, отправку запросов по сети, декодирование изображений и хранение Cookie. Связанные с декодированием изображений и сетевым взаимодействием обработчики выделены в отдельные процессы для усиления изоляции и защиты. Для каждой вкладки используется отдельный процесс обработки web-контента, изолированный от остальной системы. Для построения интерфейса в macOS используется AppKit, в Android - родной для данной платформы API создания графического интерфейса, а на остальных платформах - Qt. Поддерживаются основные web-стандарты (браузер проходит тесты Acid3), HTTP/1.1 и HTTPS. Графический интерфейс оформлен в классическом стиле и поддерживает вкладки.
Разработчики экспериментального браузера Ladybirdобъявили о намерении использовать язык программирования Swift в качестве основного для своего проекта. Включение в состав кода на Swift планируется начать осенью, после выхода релиза Swift 6 (использовать ветку Swift 5 мешает привязка к старой версии Clang, несовместимой с текущей кодовой базой Ladybird на С++). Благодаря возможности совмещения кода на С++ и Swift, внедрение...
Опубликован экспериментальный выпуск открытой реализации Win32 API - Wine 9.15. С момента выпуска 9.14 было закрыто 18 отчётов об ошибках и внесено 240 изменений.
- В движок MSHTML добавлена поддержка прототипов и конструкторов объектов.
- Расширена поддержка собранных для Windows ODBC-драйверов к СУБД.
- Закрыты отчёты об ошибках, связанные с работой приложений: WinProladder 3.x, FTDI Vinculum II IDE, UK's Kalender, Splashtop RMM 3.6.6.0.
- Закрыты отчёты об ошибках, связанные с работой игр: Desperados: Dead or Alive, Final Fantasy XI Online, Jade Empire, Star Wars: Knights of the Old Republic, Doom 3: BFG Edition, Astra 2, ChessBase 17.
Опубликован экспериментальный выпуск открытой реализации Win32 API - Wine 9.15. С момента выпуска 9.14 было закрыто 18 отчётов об ошибках и внесено 240 изменений.
- В движок MSHTML добавлена поддержка прототипов и конструкторов объектов.
- Расширена поддержка собранных для Windows ODBC-драйверов к СУБД.
- Закрыты отчёты об ошибках, связанные с работой приложений:...
Исследователи из компании IOActive выявилиуязвимость (CVE-2023-31315) в процессорах AMD, которая при привилегированном локальном доступе к системе позволяет изменить конфигурацию SMM (System Management Mode, Ring -2), даже если включён механизм блокировки SMM (SMM Lock), а также потенциально даёт возможность добиться выполнения кода на уровне SMM. Уровень SMM, имеющий более высокий приоритет, чем режим гипервизора и нулевое кольцо защиты, позволяет получить неограниченный доступ ко всей системной памяти и может использоваться для контроля за операционной системой.
Уязвимость, которая получила кодовое имя Sinkclose, вызвана некорректной проверкой моделезависимых регистров (MSR, Model Specific Register). За SMM закрепляется область физических страниц памяти, к которой блокируется доступ на уровне контроллера памяти. Выявленная уязвимость позволяет обойти данную блокировку через манипуляцию с определёнными регистрами MSR, запись в которые не была запрещена несмотря на выставление режима SMM Lock.
Эксплуатация уявзимости может быть совершена из нулевого кольца защиты, на котором работает ядро операционной системы, и использоваться, например, для сохранения своего присутствия после эксплуатации других уязвимостей в системе или применения методов социальной инженерии. Операционная система не может отслеживать и контролировать выполнение кода на уровне SMM, что может быть использовано для модификации прошивок и размещения скрытого вредоносного кода или руткитов, не определяемых из операционной системы, а также для отключения верификации на этапе загрузки и атак на гипервизоры для обхода механизмов проверки целостности виртуальных окружений.
Уязвимость проявляется сериях процессоров AMD EPYC (1-4 поколения), Ryzen (R1000, R2000, 3000-8000, V1000, V2000, V3000), Athlon 3000 и Threadripper PRO. Обновления микрокода для блокирования уязвимости уже выпущено для мобильных и десктопных серий CPU EPYC и Ryzen. Для встраиваемых моделей CPU обновление планируют опубликовать в октябре. Единственным способом удаления внедрённого через атаку на SMM вредоносного кода является очистка памяти при помощи физически подключённого программатора SPI Flash.
Исследователи из компании IOActive выявилиуязвимость (CVE-2023-31315) в процессорах AMD, которая при привилегированном локальном доступе к системе позволяет изменить конфигурацию SMM (System Management Mode, Ring -2), даже если включён механизм блокировки SMM (SMM Lock), а также потенциально даёт возможность добиться выполнения кода на уровне SMM. Уровень SMM, имеющий более высокий приоритет, чем режим гипервизора и нулевое кольцо...
Тим Петерс (Tim Peters), автор гибридного алгоритма сортировки Timsort, член Python Core Team и один из старожил проекта, участвующий в разработке с первых версий CPython, отстранён управляющим советом (Steering Council) на три месяца из-за жалобы на нарушение кодекса поведения.
Среди примеров нарушений, ставших причиной временного отстранения, упоминается участие в обсуждении изменений правил, позволяющих совету директоров удалять заслуженных членов организации Python Software Foundation (Fellows) в случае нарушения кодекса поведения, путём внутреннего голосования, без привлечения к голосованию других членов фонда.
Тим поставил под сомнение данное изменение и предложил проводить более детальное разбирательство, если среди голосующих есть несогласные. Упоминается также то, что удаление участников за закрытыми дверями без раскрытия перед сообществом сути нарушения может привести к злоупотреблениям. Противники публичных обсуждений нарушений кодекса поведения считают, что раскрытие информации может причинить дополнительные страдания членам общества и людям, пострадавшим от поведения нарушителя.
В списке претензий Тиму: нагнетание атмосферы страха, неуверенности и сомнений (FUD), что способствовало возникновению эмоциональных реакций участников обсуждения; упоминание концепций обратного сексизма и обратного расизма; признание смешным старого потенциально оскорбительного в современных реалиях скетча SNL 1970-годов; упоминаниеситуаций, связанных с сексуальными домогательствами и насилием (данные темы некоторые люди считают неприемлемыми); обсуждение блокировок и удалений участников (воспринимается как раскрытие личной информации); расхождение взглядов с современными веяниями в области нейроразнообразия; обсуждение спорных тем или прошлых конфликтов; высказывание предположений о мотивах и психическом здоровье участников.
Тим Петерс (Tim Peters), автор гибридного алгоритма сортировки Timsort, член Python Core Team и один из старожил проекта, участвующий в разработке с первых версий CPython, отстранён управляющим советом (Steering Council
Проект Raspberry Pi представил новую плату Raspberry Pi Pico 2, продолжающую развитие миниатюрных плат Pico и Pico W, оснащённых микроконтроллером собственной разработки. Плата производится на заводе Sony и доступна по цене 5 долларов. Как и прошлые платы Pico новая модель ориентирована главным образом для совместного использования с компьютерами Raspberry Pi, разработки встраиваемых систем и систем управления различными устройствами. До конца года планируется дополнительно выпустить модель Pico 2 W с поддержкой Bluetooth и Wi-Fi (2.4GHz 802.11n), реализованной на базе чипа Infineon CYW43439.
Плата Pico 2 примечательна задействованием нового микроконтроллера RP2350, который по сравнению с применявшимся в прошлых моделях микроконтроллером RP2040, включает более производительный двухядерный процессор ARM Cortex-M33 с DSP и блоком для вычислений с плавающей запятой, работающий на частоте 150MHz (ранее использовался ARM Cortex-M0+ 133 MHz), Чип оснащён 520 KB встроенной оперативной памяти (ранее было 264 КБ), позволяет подключать внешние модули памяти QSPI PSRAM и предоставляет расширенные возможности для обеспечения безопасности. Плата Pico 2 комплектуется 4MB QSPI Flash, что два раза больше, чем в прошлой модели. При этом плата полностью совместима с прошлыми моделями на уровне аппаратных интерфейсов и программного обеспечения, используемого для разработки приложений.
Чип RP2350 содержит встроенные аппаратные средства для защиты от атак по внесению неисправностей (Fault Injection) и поддерживает технологию Arm TrustZone, которая может использоваться для верификации загрузки по цифровой подписи, предоставляет инструкции для ускорения вычисления хэшей SHA-256 и надёжной генерации случайных чисел (TRNG, True Random Number Generator). Кроме того предоставляется 8 KB одноразово программируемой памяти, дающей возможность записать данные, которые затем невозможно изменить или удалить.
Для создания приложений могут применяться языки Си, C++, MicroPython или CircuitPython. Разработка на С/C++ может вестись в редакторе Visual Studio Code для которого распространяется специальное дополнение. Возможностей чипа достаточно для выполнения приложений для решения задач машинного обучения, для разработки которых имеется порт фреймворка TensorFlow Lite. Для сетевого доступа предлагается использовать сетевой стек lwIP, который включён в состав Pico SDK для разработки приложений на языке Си, а также в прошивку с MicroPython.
Отдельно заявлено о партнёрстве с компаниями 4D Systems, Adafruit, Bus Pirate, Cytron, Hellbender, Ignys, Invector Labs, Melopero, NewAE, Pimoroni, Seeed, Solder Party, SparkFun, Switch Science, ThisisNotRocketScience, Tiny Circuits и Wiznet, которые подготовили собственные варианты плат и устройств на базе микроконтроллера RP2350. Среди развиваемых продуктов: экраны gen4-RP2530, Arduino-совместимая плата Adafruit Feather RP2350, отладочные платы Bus Pirate 5XL и Bus Pirate 6, промышленный контроллер ввода/вывода Cytron IRIV I/O, контроллер для роботов MOTION 2350 Pro, платы для разработчиков Hellbender RP2350 и Ignys RP2350, плата Challenger+ RP2350 BConnect, Melopero Perpetuo LoRa и NewAE RP2350, Pimoroni Tiny 2350, Plasma 2350, PGA2350, Seeed XIAO RP2350, Solder Party RP2350 Stamp, SparkFun Pro Micro и Switch Science Picossci2, синтезатор звуковых эффектов ThisIsNotRocketScience Bopp & Steve, игровая приставка Tiny Circuits Thumby Color.
Проект Raspberry Pi представил новую плату Raspberry Pi Pico 2, продолжающую развитие миниатюрных плат Pico и Pico W, оснащённых микроконтроллером собственной разработки. Плата производится на заводе Sony и доступна по цене 5 долларов. Как и прошлые платы Pico новая модель ориентирована главным образом для совместного использования с компьютерами Raspberry Pi, разработки встраиваемых систем и систем управления различными устройствами. До конца года планируется...
Сопровождающие пакеты с ядром из компании Canonical (Canonical Kernel Team) объявили об изменении процесса выбора версии ядра Linux для предстоящих релизов Ubuntu. Решено поставлять в дистрибутиве ядро Linux, самое свежее на момент релиза. Соответственно, стабилизация и подготовка пакетов с ядром в процессе подготовки новых версий Ubuntu теперь может производиться не только на основе сборок уже существующего релиза ядра, но и на основе публикуемых кандидатов в релизы.
До сих пор версия ядра для следующего релиза Ubuntu выбиралась на основе стабильного релиза ядра, уже существующего на момент заморозки функциональности будущего выпуска Ubuntu. С учётом того, что новые ветки ядра формируются каждые 2-3 месяца, часто возникала ситуация, когда в состав релиза Ubuntu входила предыдущая ветка ядра, несмотря на публикацию новой стабильной ветки незадолго до релиза Ubuntu, что вызывало недовольство пользователей, желающих получить самое свежее ядро с актуальной функциональностью и поддержкой оборудования.
Новый процесс выбора версии допускает выбор ядра, которое на стадии заморозки функциональности Ubuntu находится на стадии приёма изменений или ранних кандидатов в релизы. Для утверждения версии ядра к моменту формирования бета-версии (примерно за месяц до релиза Ubuntu) ядро должно находится на стадии релиза или поздних кандидатов в релизы (rc4 и новее). В последнем случае релиз ядра будет выпущен незадолго до релиза Ubuntu, а пакет с ядром для Ubuntu пройдёт тестирование на основе предварительных версий, которые после 4 кандидата в релизы в основном уже достаточно пригодные для работы и включают только исправления ошибок. Например, в октябрьском выпуске Ubunti 24.10 планируют поставлять не уже доступное ядро 6.10, а ядро 6.11, релиз которого ожидается в конце сентября.
Сопровождающие пакеты с ядром из компании Canonical (Canonical Kernel Team) объявили об изменении процесса выбора версии ядра Linux для предстоящих релизов Ubuntu. Решено поставлять в дистрибутиве ядро Linux, самое свежее на момент релиза. Соответственно, стабилизация и подготовка пакетов с ядром в процессе подготовки новых версий Ubuntu теперь может производиться не только на основе сборок уже существующего релиза ядра,...
Сформированы корректирующие обновления для всех поддерживаемых веток PostgreSQL 16.4, 15.8, 14.13, 13.16, 12.20, в которых исправлено 56 ошибок, выявленных за последние три месяца. Среди прочего в новых версиях устранена уязвимость (CVE-2024-7348), помеченная как опасная (уровень опасности 8.8 из 10). Уязвимость вызвана состоянием гонки в утилите pg_dump, позволяющем атакующему, имеющему возможность создания и удаления постоянных объектов в СУБД, добиться выполнения произвольного SQL-кода с правами пользователя, под которым запускается утилита pg_dump (обычно pg_dump запускается с правами суперпользователя для резервного копирования СУБД).
Для успешной атаки требуется отследить момент запуска утилиты pg_dump, что легко реализуется через манипуляции с открытой транзакцией. Атака сводится к замене последовательности (sequence) на представление или внешнюю таблицу, определяющих запускаемый SQL-код, в момент запуска pg_dump, когда информация о наличии последовательности уже получена, но данные ещё не выведены. Для блокирования уязвимости добавлена настройка "restrict_nonsystem_relation_kind", запрещающая раскрытие не системных представлений и доступ к внешним таблицам в pg_dump.
Сформированы корректирующие обновления для всех поддерживаемых веток PostgreSQL 16.4, 15.8, 14.13, 13.16, 12.20, в которых исправлено 56 ошибок, выявленных за последние три месяца. Среди прочего в новых версиях устранена
В рамках проекта LibreCUDA ведётся разработка открытой реализации API драйвера CUDA, позволяющего выполнять код CUDA на GPU NVIDIA без использования проприетарного CUDA Runtime. Работа без Runtime достигается благодаря прямому обращению к оборудованию, используя предоставляемые драйвером ioctl-вызовы и манипулируя очередью команд через MMIO (Memory-mapped I/O). Код проекта написан на языке Си и распространяется под лицензией MIT.
Проект пока находится на начальной стадии развития и отмечен, как не готовый для применения в рабочих системах. Из возможностей отмечается поддержка загрузки в GPU исполняемых файлов CUDA в формате ELF, запуск CUDA-ядер через очередь команд, выделение и освобождение памяти в GPU, а также маппинг памяти GPU для доступа из кода, выполняемого на CPU.
В рамках проекта LibreCUDA ведётся разработка открытой реализации API драйвера CUDA, позволяющего выполнять код CUDA на GPU NVIDIA без использования проприетарного CUDA Runtime. Работа без Runtime достигается благодаря прямому обращению к оборудованию, используя предоставляемые драйвером ioctl-вызовы и манипулируя очередью команд через MMIO (Memory-mapped I/O). Код проекта написан на языке Си и
После почти двух лет разработки компания компания System76, разрабатывающая Linux-дистрибутив Pop!_OS, представила первый альфа-выпуск среды рабочего стола COSMIC, написанной на языке Rust (не путать со старым COSMIC, который был основан на GNOME Shell). Сформировано два iso-образа с COSMIC - для систем с GPU NVIDIA (3 ГБ) и Intel/AMD (2.6 ГБ), построенных на основе дистрибутива Pop!_OS 24.04. Также доступны готовые пакеты для Fedora, NixOS, Arch Linux и Serpent OS.
Оболочка развивается как универсальный проект, не привязанный к конкретному дистрибутиву и соответствующий спецификациям Freedesktop. Для построения интерфейса в COSMIC задействована библиотека Iced, которая использует безопасные типы, модульную архитектуру и модель реактивного программирования, а также предлагает архитектуру, привычную для разработчиков, знакомых с языком декларативного построения интерфейсов Elm. Предоставляется несколько движков отрисовки, поддерживающих Vulkan, Metal, DX12, OpenGL 2.1+ и OpenGL ES 2.0+. Разработчикам предлагается готовый набор виджетов, возможность создавать асинхронные обработчики и использовать адаптивную компоновку элементов интерфейса в зависимости от размера окна и экрана. Проектом также разрабатывается композитный сервер cosmic-comp на базе Wayland.
Альфа-выпуск ознаменовал готовность минимального базового набора возможностей, определяющих пригодный для повседневного использования рабочий продукт и являющихся основой для финального оттачивания функциональности и повышения удобства работы на основе отзывов, полученных от пользователей. Окружение включает панель задач, систему применения тем оформления, режим автоматической компоновки окон (Auto-tiling), конфигуратор и набор основных приложений и апплетов. Дистрибутивам предоставлена возможность создания кастомизированных вариантов COSMIC, поставляемых со своей цветовой схемой, апплетами, настройками и темой оформления.
- Панель, отображающая список активных окон, ярлыки для быстрого доступа к приложениям и апплеты (встроенные приложения, выполняемые в отдельных процессах). Панель может разделяться на части, например, верхнюю часть с меню и индикаторами, и нижнюю часть со списком активных задач и ярлыков быстрого доступа. Части панели могут размещаться как вертикально, так и горизонтально, занимать всю ширину экрана или только выбранную область, использовать прозрачность, менять стиль в зависимости от выбора светлого и тёмного оформления, раздельно настраиваться для каждого виртуального рабочего стола. https://honk.any-key.press/d/lv4791wM4Ch3bTDznp.png
- В дополнение к классической многооконной работе предоставлена функция автоматической мозаичной компоновки окон (Auto-tiling), при включении которой позиция для новых окон на экране выбирается автоматически и выравнивается по сетке. Для быстрой замены окон предоставляется режим, позволяющий нажав и удерживая клавиатурную комбинацию "Super + X" (Windows + X) быстро переместить окно, дополнительно нажимая клавиши управления курсором. Мозаичное и классическое размещение окон могут комбинироваться и включаться в привязке к определённому виртуальному рабочему столу.
Имеется режим стекового закрепления окон для группировки разных окон приложений по аналогии с вкладками в браузере, а также режим постоянного отображения окна, при котором окно остаются доступно на всех виртуальных рабочих столах.
https://honk.any-key.press/d/6pq2Ghnt7QHxP73bN4.png
- Возможность настройки тем оформления, выбора между тёмными и светлыми темами, сохранения настроек оформления для использования на других системах, цикличного показа коллекции рабочих столов. https://honk.any-key.press/d/mfXZb2ZFW41k1V7G4F.png
- Апплеты с меню приложений, интерфейсом переключения между окнами и виртуальными рабочими столами, системой поиска, калькулятором, диалогом для запуска произвольных команд, а также индикаторами для изменения раскладки клавиатуры, управления воспроизведением мультимедийных файлов, изменения громкости, управления Wi-Fi и Bluetooth, показа уведомлений, отображения времени и вызова экрана для завершения работы.
- Библиотека приложений, позволяющая группировать программы по тематике. https://honk.any-key.press/d/1jy4y8LD6RJ3Pv61P6.png
- Базовый набор приложений, включающий файловый менеджер, тестовый редактор, эмулятор терминала и менеджер установки приложений.
- Конфигуратор, позволяющий менять настройки панели, рабочего стола, фоновых изображений, устройств ввода, экрана, энергопотребления.
Из планов на будущее отмечается:
- Добавление в конфигуратор модулей для настройки звука, учётных записей, языка, оконного менеджера, сетевых устройств, Bluetooth, автономной работы, средств для людей с ограниченными возможностями, управления обновлениями и выбора приложений для обработки определённых типов файлов.
- Реализация приложения для начальной настройки системы.
- Расширение возможностей файлового менеджера.
- Добавление средств для людей с ограниченными возможностями.
- Интеграция календаря-планировщика (evolution-data-server).
- Улучшение управления перемещением окон между рабочими столами.
- Улучшение анимационных эффектов.
- Добавление в композитный менеджер поддержки DPMS (для отключения экрана), механизма VRR (Variable Refresh Rate), возможности отображения полупрозрачного фона, HDR и режима ночной подсветки ("Night Light").
После почти двух лет разработки компания компания System76, разрабатывающая Linux-дистрибутив Pop!_OS, представила первый альфа-выпуск среды рабочего стола COSMIC, написанной на языке Rust (не путать со старым COSMIC, который был основан на GNOME Shell). Сформировано два iso-образа с COSMIC - для систем с GPU NVIDIA (
Исследователи Центра Гельмгольца по информационной безопасности (CISPA) опубликовали результаты исследования защищённости процессоров на базе архитектуры RISC-V и раскрыли сведения об уязвимости, получившей кодовое имя GhostWrite. Уязвимость затрагивает RISC-V-процессоры XuanTie C910, производимые китайской компанией T-Head (подразделение Alibaba) и развиваемые в форме открытых проектов. Уязвимость даёт возможность атакующему, имеющему непривилегированный ограниченный доступ к системе, добиться чтения и записи в любые области физической памяти, а также получить доступ к управлению периферийными устройствами, такими как сетевые карты, использующими MMIO (Memory-Mapped Input/Output).
Уязвимость вызвана недоработками в архитектуре процессора, связанными с изоляцией добавленных производителем процессорных инструкций, расширяющих архитектуру набора команд RISC-V и позволяющих получить прямой доступ к DRAM, в обход механизмов виртуальной памяти. Работа некоторых расширенных инструкций напрямую с физической памятью вместо виртуальной памяти даёт возможность обойти изоляцию памяти между процессами.
Подготовленная техника проведения атаки на 100% воспроизводима и требует выполнения своего кода в течение всего нескольких микросекунд. Программные методы изоляции, такие как контейнеры и sandbox-окружения, не мешают эксплуатации уязвимости. Для блокирования уязвимости помогает только полное отключение поддержки векторных расширений, что приводит к снижению производительности в тестах rvv-bench на 33% (в аннотации к отчёту указано 77%, а на сводной странице - 33%, при этом в деталях упоминается снижение производительности memcpy на 33%, а memset на 8%), а также примерно в два раза сокращает доступный для приложений набор процессорных инструкций.
CPU XuanTie C910 являются одними из наиболее высокопроизводительных чипов RISC-V, имеющихся на рынке и уже активно используемых в серверах для облачных систем и ноутбуках. Например, проблема проявляется в серверах Scaleway Elastic Metal RV1, кластерах Lichee Cluster 4A, ноутбуке Lichee Book 4A, игровой консоли Lichee Console 4A, портативном компьютере Lichee Pocket 4A, одноплатных ПК Sipeed Lichee Pi 4A, Milk-V Meles и BeagleV-Ahead.
В качестве примера исследователями подготовлен эксплоит, позволяющий непривилегированному пользователю получить root-права в Linux. Эксплоит меняет содержимое таблицы страниц в памяти, используемой для трансляции виртуальных адресов в физические, для получения виртуальных адресов, связанных с любыми физическими адресами. Также подготовлен пример эксплоита для чтения содержимого памяти ядра и других процессов, что позволяет извлечь хранящиеся в памяти ключи шифрования и пароли.
Дополнительно исследователями выявлены ещё две менее опасные архитектурные уязвимости - одна затрагивает процессоры T-Head XuanTie C906, а другая T-Head XuanTie C908. Обе уязвимости ограничиваются вызовом отказа в обслуживании из-за остановки работы CPU. Уязвимости могут представлять опасность для облачных платформ, построенных на чипах T-Head XuanTie, так при наличии доступа к выполнению кода в облачном окружении имеется возможность остановить работу и других пользователей, обслуживаемых на том же сервере.
Проблемы были выявлены при помощи фреймворка RISCVuzz, созданного для fuzzing-тестирования CPU. Фреймворк выявляет отличия в реализации одинаковых расширенных инструкций на разных CPU, в соответствии с предположением, что из-за отсутствия единого реестра расширений набора команд RISC-V, одинаково кодируемые инструкции на чипах разных производителей могут приводить к выполнению разных действий. Проверка сводилась к сравнению поведения при обработке процессорных инструкций на разных CPU RISC-V и анализа возможных уязвимостей в ситуациях, в которых наблюдалось расхождение поведения.
Исследователи Центра Гельмгольца по информационной безопасности (CISPA) опубликовали результаты исследования защищённости процессоров на базе архитектуры RISC-V и раскрыли сведения об уязвимости, получившей кодовое имя GhostWrite. Уязвимость затрагивает RISC-V-процессоры XuanTie C910, производимые китайской компанией T-Head (подразделение Alibaba) и развиваемые в форме
Представлен выпуск JavaScript-библиотеки Puppeteer 23, предназначенной для автоматизации управления web-браузерами. Библиотека подходит как для автоматического выполнения типовых операций с браузером, так и для проведения тестирования браузеров и симуляции работы пользователей. Код проекта написан на языке TypeScript с использованием Node.js и распространяется под лицензией Apache 2.0.
Например, Puppeteer позволяет создать сценарий, запускающий браузер, выставляющий нужный размер окна, открывающий определённую страницу, выставляющий фокус на заданном поле для поиска, вводящий в поле данные и отправляющий запрос, после чего переходящий по ссылке на первый результат в списке и сохраняющий полученную страницу. Библиотека также предоставляет возможности для загрузки свежей версии выбранного браузера, симуляции работы на выбранном аппаратном устройстве (например, на смартфоне Pixel 5), обработки форм аутентификации. В процессе работы можно отслеживать, перехватывать, модифицировать или блокировать сетевые запросы и ответы, а также манипулировать HTTP-заголовками и выполнять свои скрипты в контексте открываемых страниц.
Выпуск Puppeteer 23 примечателен обеспечением поддержки браузера Firefox, помимо изначально поддерживаемых браузеров на базе движка Chromium (проект Puppeteer развивает команда Chrome Browser Automation). Для взаимодействия с браузерами поддерживаются протоколы CDP (Chrome DevTools Protocol) и WebDriver BiDi. По умолчанию браузеры запускаются в режиме работы без экрана (headless). Отмечается, что добавление в новой версии поддержки Firefox и WebDriver BiDi, позволяет использовать Puppeteer в качестве универсального средства для автоматизации тестирования работы web-приложений в разных браузерах.
Представлен выпуск JavaScript-библиотеки Puppeteer 23, предназначенной для автоматизации управления web-браузерами. Библиотека подходит как для автоматического выполнения типовых операций с браузером, так и для проведения тестирования браузеров и симуляции работы пользователей. Код проекта написан на языке TypeScript с использованием Node.js и
Опубликован выпуск проекта Vortex 2.2, развивающего открытый GPGPU на базе архитектуры набора команд RISC-V, рассчитанный на выполнение параллельных вычислений с использованием API OpenCL и модели выполнения SIMT (Single Instruction, Multiple Threads). Проект также может быть использован при проведении исследований в области 3D-графики и при разработке новых архитектур GPU. Схемы, описания аппаратных блоков на языке Verilog, симулятор, драйверы и сопутствующая проектная документация распространяются под лицензией Apache 2.0.
Основу GPGPU составляет типовой ISA RISC-V, расширенный некоторыми дополнительными инструкциями, необходимыми для поддержки функций GPU и управления потоками. При этом изменения в архитектуре набора команд RISC-V сведены к минимуму и по возможности используются уже имеющиеся векторные инструкции. Среди дополнительных инструкций можно отметить: "tex" для ускорения обработки текстур, vx_rast для управления растеризацией, vx_rop для обработки фрагментов, глубины и прозрачности, vx_imadd для выполнения операции "умножить и сложить", vx_wspawn, vx_tmc и vx_bar для активации фронтов инструкций и потоков в них (wavefront, набор нитей, параллельно выполняемых SIMD Engine), vx_split и vx_join.
Развиваемый GPGPU поддерживает 32- и 64-разрядные архитектуры набора команд RISC-V RV32IMF и RV64IMAFD, и может включать опциональную разделяемую память, кэши уровней L1, L2 и L3, а также настраиваемое число ядер, блоков задач (warps) и потоков. В свою очередь для каждого ядра предусмотрена возможность включения настраиваемого числа ALU, FPU, LSU и SFU. Для создания прототипов могут использоваться FPGA Altera Arria 10, Altera Stratix 10, Xilinx Alveo U50, U250, U280 и Xilinx Versal VCK5000. Для симуляции работы чипа могут применяться Verilator (Verilog-симулятор), RTLSIM (симуляция RTL) и SimX (программная симуляция).
Для разработки приложений предлагается инструментарий, включающий адаптированные для работы с Vortex варианты PoCL (компилятор и runtime OpenCL), LLVM/Clang, GCC и Binutils. Проектом поддерживается спецификация OpenCL 1.2 и через трансляцию в OpenCL реализована поддержка промежуточного представления шейдеров SPIR-V. Для графики на технологиях Vortex развивается открытый GPU Skybox, поддерживающий графический API Vulkan. Прототип Skybox, созданный на базе FPGA Altera Stratix 10 и включающий 32 ядра (512 потоков), позволил при частоте 230 MHz добиться производительности заливки в 3.7 гигапикселей в секунду (29.4 гигатранзакции в секунду).
Среди изменений в версии Vortex 2.2:
- Добавлен API vx_spawn_taskgroups для запуска ядер, поддерживающих сегментированное выполнение 3D-задач.
- Добавлена поддержка ZICOND, расширения архитектуры набора команд RISC-V, обеспечивающее условное выполнение операций без ветвления.
- Компилятор OpenCL переведён на планирование выполнения на уровне отдельных потоков (thread-level, каждый поток выполняет свою задачу независимо от других потоков), а не групп задач (warp-level), как было раньше.
- В OpenCL добавлена поддержка JIT-компиляции и 64-разрядных ядер.
- Реализована поддержка динамической загрузки Vortex runtime.
- Предложена новая документация по настройке FPGA Xilinx.
- Включено тестирование синтеза логики с использованием инструментария Yosys.
- В иерархических операциях flush и в режиме write-back обеспечена поддержка кэша.
- Проведена оптимизация скорости scoreboard-верификации и работы с операндами на уровне регистровых передач (RTL, Register Transfer Level).
- Добавлена поддержка симулятора DRAM-памяти Ramulator 2.0.
- Осуществлён переход на использование новых версий Verilator 5.0 (симулятор SystemVerilog) и LLVM 18.0, а также обновлён инструментарий на базе CentOS 7.9.
- Вместо системы непрерывной интеграции Travis CI задействован сервис GitHub CI.
Опубликован выпуск проекта Vortex 2.2, развивающего открытый GPGPU на базе архитектуры набора команд RISC-V, рассчитанный на выполнение параллельных вычислений с использованием API OpenCL и модели выполнения SIMT (Single Instruction, Multiple Threads). Проект также может быть использован при проведении исследований в области 3D-графики и при разработке новых архитектур GPU. Схемы, описания аппаратных блоков на языке Verilog, симулятор,...
Анджей Яник (Andrzej Janik), известный своей работой по созданию реализаций технологии CUDA для GPU Intel и AMD, был вынужден по требованию компании AMD убрать из открытого доступа часть кода открытого проекта ZLUDA, позволяющего выполнять немодифицированные CUDA-приложения на системах с GPU AMD, используя стек ROCm и runtime HIP (Heterogeneous-computing Interface for Portability). Отдельно отмечается, что каких-либо связанных с проектом ZLUDA обращений от компании NVIDIA, которой принадлежит права на технологию CUDA, разработчику не поступало.
Изначально проект ZLUDA развивался для GPU Intel, но в 2022 году Анджей уволился из Intel и заключил контракт с компанией AMD на разработку слоя для совместимости с CUDA. В начале 2024 года компания AMD решила, что запуск CUDA-приложений на GPU AMD не представляет интереса для бизнеса, что по условию контракта позволило разработчику открыть свои наработки. В процессе переписки по электронной почте разработчиком также было получено разрешение на публикацию от представителя AMD.
Спустя 6 месяцев после публикации изменений, созданных во время работы на AMD, юристы данной компании связались с Анджей и дали понять, что ранее предоставленное в ходе переписки разрешение не имеет юридической силы. Подробности переписки с юристами AMD не приводятся из-за соглашения о неразглашении информации. Тем не менее, результатом стало то, что разработчик был вынужден убрать из открытого доступа весь код, созданный для AMD.
Анджей не намерен бросать работу над проектом и планирует пересоздать его, основываясь на коде, имевшемся до начала сотрудничества с AMD (старый код был рассчитан на работу с GPU Intel). Подробности о дальнейшем развитии проекта будут представлены в течение нескольких недель. Пока лишь сообщается, что часть функциональности будет потеряна, а также будет не суждено открыть некоторые параллельно развившиеся проекты. Например, планировалось опубликовать результат работы над поддержкой технологии NVIDIA GameWorks, которая была доведена до возможности использования базирующихся на GameWorks эффектов в игре "Batman: Arkham Knight".
Дополнительно можно отметить, развитие инструментария SCALE, нацеленного на предоставление возможности выполнения приложений CUDA на системах с GPU AMD. Ключевым компонентом развиваемого инструментария является компилятор, совместимый на уровне опций с nvcc, основанный на кодовой базе проекта LLVM и позволяющий компилировать код на языке CUDA в представление для запуска на GPU AMD. Проект также предоставляет библиотеки-обвязки с реализацией API CUDA-X поверх стека AMD ROCm, Runtime и API драйверов для GPU AMD. Инструментарий симулирует для приложений наличие NVIDIA CUDA Toolkit, что позволяет собирать CUDA-код для GPU AMD без внесения изменений в исходные тексты и сценарии сборки.
В настоящее время инструментарий SCALE находится на стадии бета-тестирования (пакеты доступны для различных дистрибутивов Linux). Работа SCALE протестирована с такими системами, как Blender, hashcat, llama-cpp, NVIDIA Thrust, GOMC, stdgpu, xgboost, faiss и AMGX на системах с GPU AMD gfx1030 (Navi 21, RDNA 2.0) и AMD gfx1100 (Navi 31, RDNA 3.0). Проект SCALE является проприетарным и распространяется без предоставления исходных текстов. При этом лицензия допускает использование в коммерческих целях, распространение и внесение изменений, но запрещает обратный инжиниринг. Разработчики не исключают, что в будущем могут вернуться к рассмотрению возможности открытия кода, но на данной стадии разработки решено код не публиковать.
Анджей Яник (Andrzej Janik), известный своей работой по созданию реализаций технологии CUDA для GPU Intel и AMD, был вынужден по требованию компании AMD убрать из открытого доступа часть кода открытого проекта ZLUDA,
Компания Google сформировала обновление Chrome 127.0.6533.99, в котором исправлено 6 уязвимостей, среди которых критическая уязвимость (CVE-2024-7532), позволяющая обойти все уровни защиты браузера и выполнить код в системе за пределами sandbox-окружения. Детали пока не раскрываются, известно лишь, что критическая уязвимость вызвана выходом за границы буфера в прослойке ANGLE, отвечающей за трансляцию вызовов OpenGL ES в OpenGL, Direct3D 9/11, Desktop GL, Metal и Vulkan.
Остальные уязвимости помечены как опасные и связаны обращением к памяти после её освобождения в реализациях API "WebAudio" (CVE-2024-7536) и "Sharing" (CVE-2024-7533), записью в область памяти вне буфера в компоненте "Layout" (CVE-2024-7534), неправильной обработкой типов (Type Confusion) в движке V8 (CVE-2024-7550) и ошибкой в реализации компонентов движка V8 (CVE-2024-7535).
Компания Google сформировала обновление Chrome 127.0.6533.99, в котором исправлено 6 уязвимостей, среди которых критическая уязвимость (CVE-2024-7532), позволяющая обойти все уровни защиты браузера и выполнить код в системе за пределами sandbox-окружения. Детали пока
- По умолчанию активирован режим HTTPS-First, при котором при попытке открытия страницы по HTTP без шифрования браузер вначале попытается обратиться к сайту по HTTPS ("http://" заменяется на "https://") и если попытка оказывается неудачной автоматически обращается к сайту без шифрования. Для отключения режима в about:config следует использовать опцию "dom.security.https_first". В отличие от включаемого в настройках опционального режима "HTTPS Only" режим HTTPS-First не применяется к загрузке субресурсов, таких как изображения, скрипты и таблицы стилей, а действует только при попытке открытия сайта после перехода по ссылке или наборе URL в адресной строке.
- На платформах Linux, Windows 11 и Android 10+ предоставлена возможность использования системного резолвера для определения DNS-записей, через которые передаётся информация об открытом ключе для механизма ECH (Encrypted Client Hello), который продолжает развитие технологии ESNI (Encrypted Server Name Indication) и обеспечивает шифрование информации о параметрах TLS-сеансов, таких как запрошенное доменное имя. Ключевое отличие ECH от ESNI в том, что в ECH вместо шифрования на уровне отдельных полей целиком шифруется всё TLS-сообщение ClientHello, что позволяет блокировать утечки через поля, которые не охватывает ESNI, например, поле PSK (Pre-Shared Key). Изменение также позволяет использовать протокол HTTP/3 без использования заголовка Alt-Svc. Ранее для получения ключа к ECH требовалось включение "DNS over HTTPS". Скрытие домена в HTTPS-трафике, среди прочего, приводит к решению проблем с падением скорости при просмотре YouTube, наблюдаемого последнее время у пользователей некоторых российских провайдеров.
- В режиме читателя (Reader View) расширены возможности меню для настройки отображения текста и компоновки страницы - добавлена возможность регулирования отступов между символами и словами, а также выбора метода выравнивания текста. https://honk.any-key.press/d/d61CyhSssZ6Dk95cgd.png
- В режим читателя добавлено новое меню "Theme" для настройки цветов фона, текста и ссылок при просмотре, а также для выбора базовых режимов отображения (тёмный, оттенки серого, светлый, контрастный, сепия). https://honk.any-key.press/d/2jy1j9n3k8nRHsk3L4.png
- Включено отображение эскизов содержимого вкладок при наведении мыши на кнопки вкладок. Помимо эскиза в информационный блок о вкладке также добавлено упоминание показанной во вкладке ссылки. Предполагается, что изменение упростит определение искомой вкладки, исключив необходимость переключения между вкладками. Для тех кого раздражают лишние автоматически всплывающие окна, могут отключить новую возможность при помощи настройки "browser.tabs.hoverPreview.enabled" в about:config. https://honk.any-key.press/d/DT9BmKksK733Nt8lfj.png
- Для пользователей из Франции и Германии включено по умолчанию автоматическое заполнение в web-формах полей с адресами. Ранее данная возможность была включена только для пользователей из США и Канады. Для включения режима в других странах можно использовать настройку "extensions.formautofill.addresses.supportedCountries" на странице about:config. Для редактирования адреса, который будет добавляться в формы, можно использовать кнопку редактирования в секции Autofill в настройках "Конфиденциальность и Безопасность". https://honk.any-key.press/d/ZM6wg533G7qHW128GD.png
- В CSS добавлено @-правило "@starting-style" для применения стиля к элементу при его первой отрисовке, что может применяться для создания переходной анимации на стадии до открытия элемента на странице (в состоянии "display: none") или при добавлении элемента в DOM.
- Добавлено CSS-свойство "transition-behavior" для применения переходной анимации к дискретным свойствам, таким как "display".
- Реализовано событие textInput, которое не определено в стандарте, но используется вместо события "beforeinput" в некоторых web-приложениях на базе старых фреймфорков.
- В JavaScript добавлена поддержка типизированных массивов Float16Array, а также методов DataView для чтения и установки значений с типом Float16, и метода Math.f16round() для округления чисел до 16-битной точности. Тип Float16 может оказаться полезным при работе с GPU для сокращения потребления памяти по сравнению с типами Float32 и Float64.
- В API mediaCapabilities.decodingInfo() реализована возможность декодирования системной конфигурации воспроизводимого шифрованного контента и получения информации об используемой для шифрования системы ключей.
- В инструментах для web-разработчиков реализованы новые предупреждения о проблемах с CSS, показываемые при некорректном использовании свойств resize и float, при использовании свойства box-sizing с элементами игнорирующими изменение высоты и ширины, а также при применении специфичных для таблиц CSS-свойств с элементами, не связанными с таблицами.
В панели анализа сетевой активности функция блокировки (Network Blocking) теперь применяется не только к HTTP-ответам, но и к HTTP-запросам. В режиме инспектирования в боковой панели Rules добавлен показ правил "@starting-style" и реализованы всплывающие подсказки для функции var(), показывающие значения собственных CSS-свойств "@starting-style".
- В версии для платформы Android предоставлена возможность загрузки языковых пакетов для перевода текста в режиме offline.
Кроме новшеств и исправления ошибок в Firefox 129 устранено 14 уязвимостей. 11 уязвимостей помечены как опасные, из которых 6 вызваны проблемами работы с памятью, такими как переполнения буферов и обращение к уже освобождённым областям памяти. Потенциально данные проблемы способны привести к выполнению кода злоумышленника при открытии специально оформленных страниц.
- По умолчанию активирован режим HTTPS-First, при котором при попытке открытия страницы по HTTP без шифрования браузер вначале попытается обратиться к сайту по HTTPS ("http://" заменяется на "https://") и если попытка оказывается...