Catalog(/tech/)


New Thread
Name
×
Email
Subject
Message
Files Max 5 files10MB total
Tegaki
Password
Captcha*
[New Thread]


ansible — система управления конфигурациями, написанная на языке программирования Python, с использованием декларативного языка разметки для описания конфигураций.

документация:
* https://docs.ansible.com/ansible/latest/index.html
* https://redhat-cop.github.io/automation-good-practices
* https://docs.ansible.com/ansible/2.8/user_guide/playbooks_best_practices.html

полезное:
* https://github.com/sandervanvugt/rhce8-book
* https://github.com/geerlingguy/ansible-for-devops

курсы/видосы:
* Ansible: From Basics to Guru by Sander van Vugt
* Red Hat RHCE 8 (EX294)

книги:
* Sander van Vugt - Red Hat RHCE 8 (EX294)
* https://www.jeffgeerling.com/ansible-2022
новостей тред
обсуждаем всякое разное на технические темы
GNU GUIX (произносится гикс /ɡiːks/) — функциональный пакетный менеджер и операционная система, разработанные Ludovic Courtès. Отличительной особенностью является создание полностью воспроизводимых билдов и декларативное описание. Guix можно поставить на существующий дистрибутив GNU/Linux или в качестве отдельной системы на базе Linux или GNU Hurd. Раньше существовало разделение менеджера пакетов Guix и операционной системы GuixSD.

Определения пакетов описываются на диалекте языка Scheme – GNU/Guile. Большая часть исходников написана на нём же. Система изначально была основана на Nix. Отличиями от Nix(OS) являются язык для описания пакетов и сервисов, система инициализации (GNU Shepherd), использование ядра Linux-Libre (Linux без блобов) и отсутствие проприетарных пакетов.

Чем интересен Guix: https://habr.com/ru/post/436938/

GNU Guix (из коробки) не имеет проприетарного firmware. Потому при переходе на эту систему надо учитывать, что возможно wifi адаптер, gpu и другие компоненты системы могут не работать полностью или частично.

Список свободных wifi адаптеров:
https://gist.github.com/sirikid/2817f36d67d1480a428cbf33b220cfcc

Как завести систему с несвободным железом:
* Канал с несвободными пакетами NonGuix
* Установочный образ с несвободным ядром и firmware

Научные статьи о Guix:
* Functional Package Management with Guix 
* Reproducible and User-Controlled Software Environments in HPC with Guix
* Code Staging in GNU Guix

Научные статьи о Nix:
* The Purely Functional SoftwareDeployment Model


Сайт проекта: https://guix.gnu.org/ru
Документация: https://guix.gnu.org/manual/ru/html_node/
Cookbook: https://guix.gnu.org/cookbook/en/guix-cookbook.html
Шпаргалка: https://guix.gnu.org/guix-refcard.pdf
Видео-туториалы: https://guix.gnu.org/videos/
Поиск пакетов: https://hpc.guix.info/browse
Баг-трекер: https://issues.guix.gnu.org
Emacs интерфейс Guix: https://emacs-guix.gitlab.io/website/manual/latest/emacs-guix.html

Доклады:
* https://git.savannah.gnu.org/cgit/guix/maintenance.git/tree/talks
* https://cbaines.net/projects/guix/fosdem-2018/presentation/
* FOSDEM 2020: https://t.me/gnu_guix_ru/2993
* Guix Days 2020: https://xana.lepiller.eu/guix-days-2020/
* Guix Days 2022: https://xana.lepiller.eu/guix-days-2022/

Скачать Guix: https://guix.gnu.org/download/
Архитектуры пакетного менеджера: i686, x86_64, ARMv7, AArch64
Архитектуры системы: i686, x86_64

Исходный код: https://git.savannah.gnu.org/cgit/guix.git/

Примеры конфигураций:
* Репозиторий с конфигурациями русскоязычных пользователей
* Пример из кода проекта

Guix в других системах:
* Debian: https://packages.debian.org/experimental/guix

Сайт GNU Guile: https://www.gnu.org/software/guile/
Документация GNU Guile: https://www.gnu.org/software/guile/manual/html_node/

Guix может установить недостающие пакеты, если подключить канал с нужными описаниями пакетов. Подробнее: https://guix.gnu.org/manual/en/html_node/Channels.html

Публичные каналы:
* https://gitlab.com/nonguix/nonguix
* https://gitlab.com/mbakke/guix-chromium
* https://gitlab.com/guix-gaming-channels

Где искать помощь?  
* Посмотреть архив списков рассылки: https://lists.gnu.org/archive/html/help-guix/
Если там нет, то можно самому задать вопрос, отправив письмо на [email protected].
* телеграм канал https://t.me/gnu_guix_ru

Как создать пакет:
* https://guix.gnu.org/blog/2018/a-packaging-tutorial-for-guix/

Как "закрепить" версии пакетов:
https://guix.gnu.org/manual/en/html_node/Inferiors.html

Как выводить логи:
Флаг -v или --verbosity со значением от 0 до 2 для пользователя.
Например guix build hello -v 2

Перевод проекта на русский язык:
https://translate.fedoraproject.org/projects/guix/guix/ru/
Стоит ли рассматривать более подробно данный ЯП?
тред посвящается околинуксовым всяким разным штукам
После полутора лет разработки опубликован четвёртый бета-выпуск операционной системы Haiku R1. Изначально проект был создан как реакция на закрытие ОС BeOS и развивался под именем OpenBeOS, но был переименован в 2004 году из-за претензий, связанных с использованием в названии торговой марки BeOS. Для оценки работы нового выпуска подготовлено несколько загрузочных Live-образов (x86, x86-64). Исходные тексты большей части ОС Haiku распространяются под свободной лицензией MIT, исключение составляют некоторые библиотеки, медиа-кодеки и компоненты, заимствованные из других проектов.

ОС Haiku ориентирована на персональные компьютеры, использует собственное ядро, построенное на основе модульной архитектуры, оптимизированное для высокой отзывчивости на действия пользователя и эффективного выполнения многопоточных приложений. Для разработчиков представлен объектно-ориентированный API. Система напрямую базируется на технологиях BeOS 5 и нацелена на бинарную совместимость с приложениями для данной ОС. Минимальное требование к оборудованию: CPU Pentium II и 384 МБ ОЗУ (рекомендовано Intel Core i3 и 2 ГБ ОЗУ).

В качестве файловой системы используется OpenBFS, поддерживающая расширенные атрибуты файлов, журналирование, 64-разрядные указатели, поддержку хранения мета-тэгов (для каждого файла можно сохранить атрибуты в форме ключ=значение, что делает ФС похожей на БД) и специальных индексов для ускорения выборки по ним. Для организации структуры директорий используются "B+ tree" деревья. Из кода BeOS в состав Haiku включён файловый менеджер Tracker и панель Deskbar, исходные тексты которых были открыты после ухода BeOS со сцены.

Основные новшества:

    Улучшена работа на экранах с высокой плотностью пикселей (HiDPI). Реализовано корректное масштабирование интерфейса, не ограничивающееся изменением размера шрифтов. При первой загрузке Haiku теперь пытается автоматически определить наличие HiDPI-экрана и выбрать необходимые размеры для масштабирования. Выбранные параметры могут быть изменены в настройках, но для их применения пока требуется перезагрузка. Параметры масштабирования поддерживаются в большинстве родных приложений и в некоторых портированнных, но не во всех.
    Предоставлена возможность использования внешнего вида с плоским декоратором окон и плоским оформлением кнопок, вместо оформления с активным использованием градиентов. Плоское оформление поставляется в пакте Haiku Extras и включается в разделе настроек внешнего вида.
    Добавлена прослойка для обеспечения совместимости с библиотекой Xlib, позволяющая запускать X11-приложения в Haiku без запуска X-сервера. Прослойка реализована через эмуляцию функций Xlib при помощи трансляции вызовов в высокоуровневый графический API Haiku.
    Подготовлена прослойка для обеспечения совместимости с Wayland, позволяющая запускать тулкиты и приложения, использующие данный протокол, в том числе приложения на базе библиотеки GTK. Прослойка предоставляет библиотеку libwayland-client.so, основанную на коде libwayland и совместимую на уровне API и ABI, что позволяет запускать приложения Wayland без изменений. В отличие от типовых композитных серверов Wayland, прослойка не запускается в форме отдельного серверного процесса, а загружается как плагин к клиентским процессам. Вместо сокетов в сервере используется нативный цикл обработки сообщений на основе BLooper.
    Благодаря прослойкам для совместимости с X11 и Wayland удалось подготовить рабочий порт библиотеки GTK3. Из приложений, которые можно запустить при помощи порта отмечены GIMP, Inkscape, Epiphany (GNOME Web), Claws-mail, AbiWord и HandBrake.
    Добавлен рабочий порт с Wine, который можно использовать для запуска Windows-приложений в Haiku. Из ограничений отмечается возможность запуска только в 64-разрядных сборках Haiku и способность выполнения только 64-разрядных приложений Windows.
    Добавлен порт текстового редактора GNU Emacs, работающий в графическом режиме. Пакеты размещены в репозитории HaikuDepot.
    В файловый менеджер Tracker добавлена поддержка генерации и показа миниатюр изображений. Миниатюры сохраняются в расширенных атрибутах файлов.
    Реализован слой для совместимости с драйверами FreeBSD. Из FreeBSD портированы драйверы для поддержки беспроводных USB-адаптеров с чипами Realtek (RTL) и Ralink (RA). Из ограничений отмечается необходимость подключения устройства до загрузки (после загрузки устройство не определяется).
    Из OpenBSD портирован беспроводной стек 802.11 с поддержкой 802.11ac и драйверы iwm и iwx с поддержкой беспроводных адаптров Intel "Dual Band" и "AX".
    Добавлен драйвер USB-RNDIS, позволяющий организовать работу точки доступа через USB (USB tethering) для использования в качестве виртуальной сетевой карты.
    Добавлен новый драйвер NTFS, основанный на библиотеке от проекта NTFS-3G. Новая реализация более стабильна, поддерживает интеграцию со слоем для кэширования файлов и обеспечивает хорошую производительность.
    Добавлен транслятор для чтения и записи изображений в формате AVIF.
    Браузерный движок HaikuWebKit синхронизирован с актуальной версией WebKit и переведён на сетевой бэкенд на базе библиотеки cURL.
    В загрузчик добавлена поддержка 32-разрядных систем с EFI и предоставлена возможность установки 64-разрядного окружения Haiku из 32-разрядного загрузчика EFI.
    Улучшена совместимость со стандартами POSIX. Продолжена замена вызовов стандартной Си-библиотеки, ранее перенесённых из glibc, на варианты из musl. Добавлена поддержка потоков C11 и методов locale_t.
    Улучшен драйвер для накопителей NVMe, добавлена поддержка операции TRIM для информирования накопителя об освобождённых блоках.
    Обеспечена возможность сборки ядра и драйверов новыми версиями GCC (включая GCC 11), для сборки системы из-за привязок к старому коду для совместимости с BeOS по-прежнему требуется GCC 2.95.
    Проведена общая работа по повышению стабильности всей системы. 

https://www.opennet.ru/opennews/art.shtml?num=58383
появилось в версии 15.7.0

https://www.youtube.com/watch?v=IrK83nKi8HA
We are pleased to announce the release of GNU Guix version 1.4.0!

The release comes with ISO-9660 installation images, a virtual machine image, and with tarballs to install the package manager on top of your GNU/Linux distro, either from source or from binaries—check out the download page. Guix users can update by running guix pull.

It’s been 18 months since the previous release. That’s a lot of time, reflecting both the fact that, as a rolling release, users continuously get new features and update by running guix pull; but let’s face it, it also shows an area where we could and should collectively improve our processes. During that time, Guix received about 29,000 commits by 453 people, which includes important new features as we’ll see; the project also changed maintainers, structured cooperation as teams, and celebrated its ten-year anniversary!

A happy frog sitting at a Guix-powered computer with an almighty benevolent Guix humanoid in its back.

    Illustration by Luis Felipe, published under CC-BY-SA 4.0.

This post provides highlights for all the hard work that went into this release—and yes, these are probably the longest release notes in Guix’s history, so make yourself comfortable, relax, and enjoy.

    Bonus! Here’s a chiptune (by Trevor Lentz, under CC-BY-SA 3.0) our illustrator Luis Felipe recommends that you listen to before going further.

Improved software environment management

One area where Guix shines is the management of software environments. The guix environment command was designed for that but it suffered from a clumsy interface. It is now superseded by guix shell, though we are committed to keeping guix environment until at least May 1st, 2023. guix shell is a tool that’s interesting to developers, but it’s also a useful tool when you’re willing to try out software without committing it to your profile with guix install. Let’s say you want to play SuperTuxKart but would rather not have it in your profile because, hey, it’s a professional laptop; here’s how you would launch it, fetching it first if necessary:

guix shell supertuxkart -- supertuxkart

In addition to providing a simpler interface, guix shell significantly improves performance through caching. It also simplifies developer workflows by automatically recognizing guix.scm and manifest.scm files present in a directory: drop one of these in your project and other developers can get started hacking just by running guix shell, without arguments. Speaking of which: --export-manifest will get you started by “converting” command-line arguments into a manifest. Read more about guix shell in the manual.

Another guix shell innovation is optional emulation of the filesystem hierarchy standard (FHS). The FHS specifies locations for different file categories—/bin for essential command binaries, /lib for libraries, and so on. Guix with its store does not adhere to the FHS, which prevents users from running programs that assume FHS adherence. The new --emulate-fhs (or -F) flag of guix shell, combined with --container (-C), instructs it to create a container environment that follows the FHS. This is best illustrated with this example, where the ls command of the coreutils package appears right under /bin, as if we were on an FHS system like Debian:

$ guix shell -CF coreutils -- /bin/ls -1p /
bin/
dev/
etc/
gnu/
home/
lib/
lib64
proc/
sbin/
sys/
tmp/
usr/

Another big new feature is Guix Home. In a nutshell, Home brings the declarative nature of Guix System to your home environment: it lets you declare all the aspects of your home environments—“dot files”, services, and packages—and can instantiate that environment, in your actual $HOME or in a container.

If you’re already maintaining your dot files under version control, or if you would like to keep things under control so you don’t have to spend days or weeks configuring again next time you switch laptops, this is the tool you need. Check out this excellent introduction that David Wilson gave at the Ten Years celebration, and read more about Guix Home in the manual.

Package transformation options give users fine control over the way packages are built. The new --tune option enables tuning of packages for a specific CPU micro-architecture; this enables the use of the newest single-instruction multiple-data (SIMD) instructions, such as AVX-512 on recent AMD/Intel CPUs, which can make a significant difference for some workloads such as linear algebra computations.

Since the 1.3.0 release, the project started maintaining an alternative build farm at https://bordeaux.guix.gnu.org. It’s independent from the build farm at ci.guix.gnu.org (donated and hosted by the Max Delbrück Center for Molecular Medicine in Berlin, Germany), which has two benefits: it lets us challenge substitutes produced by each system, and it provides redundancy should one of these two build farms go down. Guix is now configured by default to fetch substitutes from any of these two build farms. In addition, a bug was fixed, ensuring that Guix gracefully switches to another substitute provider when one goes down.

Those who’ve come to enjoy declarative deployment of entire fleets of machines will probably like the new --execute option of guix deploy.
Stronger distribution

The distribution itself has seen lots of changes. First, the Guix System installer received a number of bug fixes and it now includes a new mechanism that allows users to automatically report useful debugging information in case of a crash. This will help developers address bugs that occur with unusual configurations.

Application startup has been reduced thanks to a new per-application dynamic linker cache that drastically reduces the number of stat and open calls due to shared library lookup (we’re glad it inspired others).

Guix System is now using version 0.9 of the GNU Shepherd, which addresses shortcomings, improves logging, and adds features such as systemd-style service activation and inetd-style service startup. Speaking of services, the new guix system edit sub-command provides an additional way for users to inspect services, completing guix system search and guix system extension-graph.

There are 15 new system services to choose from, including Jami, Samba, fail2ban, and Gitile, to name a few.

A new interface is available to declare swap space in operating system configurations. This interface is more expressive and more flexible than what was available before.

Similarly, the interface to declare static networking configuration has been overhauled. On GNU/Linux, it lets you do roughly the same as the ip command, only in a declarative fashion and with static checks to prevent you from deploying obviously broken configurations.

Screenshot of GNOME 42.

More than 5,300 packages were added for a total of almost 22,000 packages, making Guix one of the top-ten biggest distros according to Repology. Among the many noteworthy package upgrades and addition, GNOME 42 is now available. KDE is not there yet but tens of KDE packages have been added so we’re getting closer; Qt 6 is also available. The distribution also comes with GCC 12.2.0, GNU libc 2.33, Xfce 4.16, Linux-libre 6.0.10, LibreOffice 7.4.3.2, and Emacs 28.2 (with just-in-time compilation support!).

In other news, motivated by the fact that Python 2 officially reached “end of life” in 2020, more than 500 Python 2 packages were removed—those whose name starts with python2-. This includes “big ones” like python2-numpy and python2-scipy. Those who still need these have two options: using guix time-machine to jump to an older commit that contains the packages they need, or using the Guix-Past channel to build some of those old packages in today’s environments—scientific computing is one area where this may come in handy.

On top of that, the Web site features a new package browser—at last! Among other things, the package browse provides stable package URLs like https://packages.guix.gnu.org/packages/PACKAGE.

The NEWS file lists additional noteworthy changes and bug fixes you may be interested in.
More documentation

As with past releases, we have worked on documentation to make Guix more approachable. “How-to” kind of sections have been written or improved, such as:

    “Writing Manifests”
    “Replicating Guix”
    “Using TeX and LaTeX”
    “System Troubleshooting Tips”
    “Foreign Architectures”
    “Using Guix Interactively”

The Cookbook likewise keeps receiving how-to entries, check it out!

The Guix reference manual is fully translated into French and German; 70% is available in Spanish, and there are preliminary translations in Russian, Chinese, and other languages. Guix itself is fully translated in French, with almost complete translations in Brazilian Portuguese, German, Slovak, and Spanish, and partial translations in almost twenty other languages. Check out the manual on how to help or this guided tour by translator in chief Julien Lepiller!
Supporting long-term reproducibility

A salient feature of Guix is its support for reproducible software deployment. There are several aspects to that, one of which is being able to retrieve source code from the Software Heritage archive. While Guix was already able to fetch the source code of packages from Software Heritage as a fallback, with version 1.4.0 the source code of Guix channels is automatically fetched from Software Heritage if its original URL has become unreachable.

In addition, Guix is now able to retrieve and restore source code tarballs such as tar.gz files. Software Heritage archives the contents of tarballs, but not tarball themselves. This created an impedance mismatch for Guix, where the majority of package definitions refer to tarballs and expect to be able to verify the content hash of the tarball itself. To bridge this gap, Timothy Sample developed Disarchive, a tool that can (1) extract tarball metadata, and (2) assemble previously-extracted metadata and actual files to reconstruct a tarball, as shown in the diagram below.

Diagram showing Disarchive and Software Heritage.

The Guix project has set up a continuous integration job to build a Disarchive database, which is available at disarchive.gnu.org. The database includes metadata for all the tarballs packages refer to. When a source code tarball disappears, Guix now transparently retrieves tarball metadata from Disarchive database, fetches file contents from Software Heritage, and reconstructs the original tarball. As of the “Preservation of Guix Report” published in January 2022, almost 75% of the .tar.gz files packages refer to are now fully archived with Disarchive and Software Heritage. Running guix lint -c archival PKG will tell you about the archival status of PKG. You can read more in the annual report of Guix-HPC.

This is a significant step forward to provide, for the first time, a tool that can redeploy past software environments while maintaining the connection between source code and binaries.
Application bundles and system images

The guix pack command to create “application bundles”—standalone application images—has been extended: guix pack -f deb creates a standalone .deb package that can be installed on Debian and derivative distros; the new --symlink flag makes it create symlinks within the image.

At the system level, the new guix system image command supersedes previously existing guix system sub-commands, providing a single entry point to build images of all types: raw disk images, QCOW2 virtual machine images, ISO8660 CD/DVD images, Docker images, and even images for Microsoft’s Windows Subsystem for Linux (WSL2). This comes with a high-level interface that lets you declare the type of image you want: the storage format, partitions, and of course the operating system for that image. To facilitate its use, predefined image types are provided:

$ guix system image --list-image-types
The available image types are:

   - rock64-raw
   - pinebook-pro-raw
   - pine64-raw
   - novena-raw
   - hurd-qcow2
   - hurd-raw
   - raw-with-offset
   - iso9660
   - efi32-raw
   - wsl2
   - uncompressed-iso9660
   - efi-raw
   - docker
   - qcow2
   - tarball

That includes for example an image type for the Pine64 machines and for the GNU/Hurd operating system. For example, this is how you’d create an QCOW2 virtual machine image suitable for QEMU:

guix system image -t qcow2 my-operating-system.scm

… where my-operating-system.scm contains an operating system declaration.

Likewise, here’s how you’d create, on your x86_64 machine, an image for your Pine64 board, ready to be transferred to an SD card or similar storage device that the board will boot from:

guix system image -t pine64-raw my-operating-system.scm

The pine64-raw image type specifies that software in the image is actually cross-compiled to aarch64-linux-gnu—that is, GNU/Linux on an AArch64 CPU, with the appropriate U-Boot variant as its bootloader. Sky’s the limit!
Nicer packaging experience

A significant change that packagers will immediately notice is package simplification, introduced shortly after 1.3.0. The most visible effect is that package definitions now look clearer:

(package
  ;; …
  (inputs (list pkg-config guile-3.0)))  ;👍

… instead of the old baroque style with “input labels”:

(package
  ;; …
  (inputs `(("pkg-config" ,pkg-config)   ;👎
            ("guile" ,guile-3.0))))

The new guix style command can automatically convert from the “old” style to the “new” style of package inputs. It can also reformat whole Scheme files following the stylistic canons du jour, which is particularly handy when getting started with the language.

That’s just the tip of the iceberg: the new modify-inputs macro makes package input manipulation easier and clearer, and one can use G-expressions for instance in package phases. Read our earlier announcement for more info. On top of that, the new field sanitizer mechanism is used to validate some fields; for instance, the license field is now type-checked and the Texinfo syntax of description and synopsis is validated, all without any run-time overhead in common cases. We hope these changes will make it easier to get started with packaging.

The guix build command has new flags, --list-systems and --list-targets, to list supported system types (which may be passed to --system) and cross-compilation target triplets (for use with --target). Under the hood, the new (guix platform) module lets developers define “platforms”—a combination of CPU architecture and operating system—in an abstract way, unifying various bits of information previously scattered around.

In addition, packagers can now mark as “tunable” packages that would benefit from CPU micro-architecture optimizations, enabled with --tune.

Python packaging has seen important changes. First, the python package now honors the GUIX_PYTHONPATH environment variable rather than PYTHONPATH. That ensures that Python won’t unwillingly pick up packages not provided by Guix. Second, the new pyproject-build-system implements PEP 517. It complements the existing python-build-system, and both may eventually be merged together.

What’s great with packaging is when it comes for free. The guix import command gained support for several upstream package repositories: minetest (extensions of the Minetest game), elm (the Elm programming language), egg (for CHICKEN Scheme), and hexpm (for Erlang and Elixir packages). Existing importers have seen various improvements. The guix refresh command to automatically update package definitions has a new generic-git updater.
Try it!

There are several ways to get started using Guix:

    The installation script lets you quickly install Guix on top of another GNU/Linux distribution.

    The Guix System virtual machine image can be used with QEMU and is a simple way to discover Guix System without touching your system.

    You can install Guix System as a standalone distribution. The installer will guide you through the initial configuration steps.

To review all the installation options at your disposal, consult the download page and don't hesitate to get in touch with us.

Enjoy!
About GNU Guix

GNU Guix is a transactional package manager and an advanced distribution of the GNU system that respects user freedom. Guix can be used on top of any system running the Hurd or the Linux kernel, or it can be used as a standalone operating system distribution for i686, x86_64, ARMv7, AArch64, and POWER9 machines.

In addition to standard package management features, Guix supports transactional upgrades and roll-backs, unprivileged package management, per-user profiles, and garbage collection. When used as a standalone GNU/Linux distribution, Guix offers a declarative, stateless approach to operating system configuration management. Guix is highly customizable and hackable through Guile programming interfaces and extensions to the Scheme language.


https://guix.gnu.org/blog/2022/gnu-guix-1.4.0-released/
Во FreeBSD выявлена уязвимость (CVE-2022-23093) в утилите ping, входящей в базовую поставку. Проблема потенциально может привести к удалённому выполнению кода с правами root при проверке при помощи ping внешнего хоста, подконтрольного злоумышленнику. Исправление предложено в обновлениях FreeBSD 13.1-RELEASE-p5, 12.4-RC2-p2 и 12.3-RELEASE-p10. Подвержены ли другие BSD-системы выявленной уязвимости пока не ясно (отчётов об уязвимости в NetBSD, DragonFlyBSD и OpenBSD пока не появилось).

Уязвимость вызвана переполнением буфера в коде разбора ICMP-сообщений, приходящих в ответ на проверочный запрос. Код отправки и приёма ICMP-сообщений в ping использует raw-сокеты и выполняется с повышеннымми привилегиями (утилита поставляется с флагом setuid root). Обработка ответа производится на стороне ping через реконструкцию IP- и ICMP-заголовков пакетов, получаемых из raw-сокета. Выделенные IP- и ICMP-заголовки копируются функцией pr_pack() в буферы, но принимая во внимание то, что в пакете после заголовка IP могут присутствовать дополнительные расширенные заголовки.

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

https://www.opennet.ru/opennews/art.shtml?num=58232
На Генеральной конференции по мерам и весам принято решение как минимум начиная с 2035 года приостановить периодическую синхронизацию эталонных мировых атомных часов с астрономическим временем Земли. Из-за неоднородности вращения Земли астрономические часы немного отстают от эталонных и для синхронизации точного времени начиная c 1972 года атомные часы раз в несколько лет приостанавливались на одну секунду, как только разница между эталонным и астрономическим временем достигала 0.9 секунд (последняя подобная корректировка была 8 лет назад). С 2035 года синхронизация будет прекращена и разница между мировым координированным временем (UTC) и астрономическим временем (UT1, среднее солнечное время) будет накапливаться.

Вопрос прекращения добавления лишней секунды обсуждался в Международном бюро мер и весов с 2005 года, но решение постоянно откладывалось. В долгосрочной перспективе вращательное движение Земли постепенно замедляется из-за влияния притяжения Луны и интервалы между проведением синхронизации со временем уменьшаются, например, при сохранении динамики через 2000 лет новую секунду пришлось бы добавлять каждый месяц. Отклонения параметров вращения Земли носят случайный характер и их изменение, наблюдаемое последние несколько лет, может привести к необходимости не добавления, а вычитания лишней секунды.

В качестве альтернативы посекундной синхронизации рассматривается возможность проведения синхронизации при накоплении изменений на 1 минуту или 1 час, что потребует корректировки времени раз в несколько веков. Окончательное решение о методе дальнейшей синхронизации планируется принять до 2026 года.

Решение о приостановке посекундной синхронизации обусловлено многочисленными сбоями в программных системах, связанных с тем, что во время синхронизации в одной из минут появлялась 61 секунда. В 2012 году подобная синхронизация привела к массовым сбоям на серверных системах, в которых была настроена синхронизация точного времени по протоколу NTP. Из-за неготовности обработать появление лишней секунды некоторые системы зацикливались и начинали потреблять излишние ресурсы CPU. При следующей синхронизации, которая произошла в 2015 году, казалось, что печальный прошлый опыт учтён, но в ядре Linux в процессе предварительных тестов была найдена ошибка (исправлена до синхронизации), приводившая к срабатыванию некоторых таймеров на секунду раньше намеченного срока.

Так как большинство публичных NTP-серверов продолжают отдавать лишнюю секунду как есть, без её размытия на серию интервалов, каждая синхронизация эталонных часов воспринимается как непредсказуемый аврал (за время с момента прошлой синхронизации успевают забыть о проблеме и внедрить код, не учитывающий рассматриваемую особенность). Проблемы также возникают в финансовых и промышленных системах, в которых требуется точный учёт времени рабочих процессов. Примечательно, что ошибки связанные с лишней секундой всплывают не только в момент синхронизации, но и в другое время, например, ошибка в коде корректировки появления лишней секунды в GPSD привела в октябре 2021 года к смещению времени на 1024 недели. Трудно предположить к каким аномалиям может привести не добавление, а вычитание секунды.

Интересно, что у прекращения синхронизации есть о обратная сторона, которая может повлиять на работу систем, рассчитанных на одинаковость часов UTC и UT1. Проблемы могут возникнуть в астрономических (например, при настройке телескопов) и спутниковых системах. Например, против приостановки синхронизации в 2035 году проголосовали представители России, которые предложили сдвинуть приостановку на 2040 год, так как изменение требует значительной переработки инфраструктуры спутниковой навигационной системы GLONASS. Система GLONASS изначально спроектирована с учётом включения дополнительных секунд, в то время как GPS, BeiDou и Galileo их просто игнорируют.

https://www.opennet.ru/opennews/art.shtml?num=58159
https://podman-desktop.io/
Леннарт Поттеринг продолжил публикацию идей по переработке компонентов для загрузки Linux и рассмотрел ситуацию с дублированием загрузочных разделов. Недовольство вызвало использование для организации начальной загрузки двух дисковых разделов с разными ФС, которые монтируются вложенно - раздела /boot/efi на базе ФС VFAT с компонентами прошивки EFI (EFI System Partition) и раздела /boot на базе ФС ext4, btrfs или xfs, на котором размещаются образы ядра Linux и initrd, а также настройки загрузчика.

Ситуация усугубляется тем, что раздел EFI является общим для всех систем, а загрузочный раздел с ядром и initrd создаётся отдельно для каждого установленного дистрибутива Linux, что приводит к необходимости создания лишних разделов при установке в системе нескольких дистрибутивов. В свою очередь необходимость поддержки разных ФС приводит к усложнению загрузчика, а использование вложенного размещения разделов мешает реализации автоматического монтирования (раздел /boot/efi может быть примонтирован только после монтирования раздела /boot).

Леннарт предложил по возможности использовать только один загрузочный раздел и на системах с EFI по умолчанию размещать образы с ядром и initrd в VFAT-разделе /efi. На системах без EFI или если во время установки раздел EFI уже существует (параллельно используется ещё одна ОС) и в нём недостаточно свободного места, можно использовать отдельный раздел /boot с типом XBOOTLDR (раздел /efi в таблице разделов имеет тип ESP). Разделы ESP и XBOOTLDR предлагается создавать в отдельных каталогах (раздельное монтирование /efi и /boot вместо вложенного монтирования /boot/efi), сделать их автоопределяемыми и автомонтируемыми через идентификацию по типу XBOOTLDR в таблице разделов (без прописывания раздела в /etc/fstab).

Раздел /boot будет общим для всех установленных на компьютере дистрибутивов Linux, а разделение специфичных для дистрибутивов файлов будет осуществляться на уровне подкаталогов (для каждого установленного дистрибутива свой подкаталог). В соответствии со сложившейся практикой и требованиями спецификации UEFI в разделе с компонентами EFI используется только файловая система VFAT. Для унификации и избавления загрузчика от усложнений, связанных с поддержкой разных ФС, предлагается использовать VFAT и в качестве файловой системы для раздела /boot, что значительно упростит реализацию работающих на стороне загрузчика компонентов, осуществляющих доступ к данным в разделах /boot и /efi. Унификация позволит равноценно поддерживать оба раздела (/boot и /efi) для загрузки образов ядра и initrd. 

https://www.opennet.ru/opennews/art.shtml?num=58045
ИБ-специалист Грег Линарес (Greg Linares) рассказал об интересной атаке, произошедшей летом текущего года. Неназванная финансовая компания из США обнаружила, что на крышу ее офиса приземлились модифицированные дроны DJI Matrice 600 и DJI Phantom, оснащенные пентестерским девайсом WiFi Pineapple, и пытались использовать MAC-адрес одного из сотрудников.

Об этой нестандартной атаке Линарес поведал в Twitter, при этом отказавшись сообщить название пострадавшей компании. Журналисты издания The Register проверили историю специалиста сами, связавшись с представителями компании-жертвы, и подтверждают, что попытка взлома при помощи модифицированных дронов действительно мела место.

Нужно сказать, что исследователи давно предупреждают и строят теории о хакерском потенциале беспилотников. После того как в продаже появились доступные потребительные квадрокоптеры, эта тема не раз поднималась на ИБ-конференциях, таких как Black Hat, как в США, так и в Европе.

Напомню, что еще в 2013 году известный исследователь Сэми Камкар (Samy Kamkar) показывал свой дрон SkyJack, который оснащался Raspberry Pi для захвата других дронов через Wi-Fi. А в 2017 году DIY-энтузиаст Наоми Ву (Naomi Wu) продемонстрировала проект под названием Screaming Fist, так же направленный на создание хакерского квадрокоптера. Пару лет назад и мы посвятили захвату дронов большую статью, которую ты можешь найти здесь.

Однако теперь проблема переходит из теорий в реальность. Линарес рассказывает, что все началось с того, что компания-жертва обнаружила необычную активность на внутренней странице Atlassian Confluence, которая исходила из сети компании.

Служба безопасности отреагировала быстро и обнаружила, что сотрудник, MAC-адрес которого использовался для частичного доступа к Wi-Fi-сети компании, также вошел в систему дома за много километров от офиса. То есть пользователь был активен за пределами офиса, но кто-то, находившийся в радиусе действия Wi-Fi-сети здания, пытался использовать его MAC-адрес.

Тогда команда попыталась отследить Wi-Fi-сигнал, использовав для идентификации устройства систему Fluke. Это привело защитников на крышу здания, где одни обнаружили модифицированных дронов DJI Matrice 600 и DJI Phantom.

По словам Линареса, Phantom был в отличном состоянии и имел на борту модифицированное пентестерское устройство WiFi Pineapple. Дрон Matrice и вовсе принес кейс, в котором находились Raspberry Pi, несколько аккумуляторов, мини-ноутбук GPD, 4G-модем и еще один Wi-Fi девайс. Этот беспилотник приземлился рядом с системой отопления и вентиляции здания и выглядел поврежденным, хотя тоже работал.

https://xakep.ru/2022/10/13/drone-hacking/
Компания Mozilla ведёт работу по расширению сервиса Firefox Relay, позволяющего генерировать временные почтовые адреса для прохождения регистрации на сайтах или оформления подписок, чтобы не афишировать свой реальный адрес. В настоящее время проходит рецензирование изменение, реализующее похожую функциональность для номеров телефонов. Firefox Relay позволит генерировать временные телефонные номера для скрытия реального номера пользователя при прохождении регистрации или получения SMS-оповещений.

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

Кроме того, можно отметить намерение интегрировать поддержку Firefox Relay в основной состав Firefox. Если ранее для генерации и подстановки адресов требовалась установка специального дополнения, то теперь браузер при подключении пользователя к учётной записи в Firefox Account будет автоматически предлагать замены в полях ввода с email. Включение Firefox Relay в состав Firefox запланировано на 27 сентября.

Добавление в Firefox Relay возможности подмены номеров телефона ожидается 11 октября, пока только для пользователей из США и Канады. Услуга будет платная, но стоимость её пока не определена. Базовый сервис для перенаправления 5 почтовых адресов бесплатный, а стоимость расширенной платной версии Firefox Relay Premium для перенаправления почты (неограниченное число адресов, вырезание трекеров, возможность использования своего домена) после 27 сентября составит $1.99 в месяц или $12 в год (до 27 сентября действовал промо-период с ценой $0.99 в месяц). Код Firefox Relay открыт под лицензией MPL-2.0 и может быть использован для создания аналогичного сервиса на своём оборудовании. 

https://www.opennet.ru/opennews/art.shtml?num=57788
We are pleased to announce the GNU Shepherd version 0.9.2.  This is a
bug-fix release, representing 27 commits by 2 people over 4 months.



• About

  The GNU Daemon Shepherd or GNU Shepherd is a service manager written
  in Guile that looks after the herd of system services.  It provides
  dependency-based management for system services: daemons such as
  ‘sshd’, programs such as Xorg, as well as user-provided actions.  The
  GNU Shepherd may also be used by unprivileged users to manage per-user
  daemons—e.g., tor, privoxy, mcron, etc.  It is written in Guile
  Scheme, and is configured and extended using Guile.

  The GNU Shepherd is developed jointly with the GNU Guix project; it is
  used as the init system of Guix, GNU’s advanced GNU/Linux distribution.

  https://www.gnu.org/software/shepherd/


• Download

  Here are the compressed sources and a GPG detached signature[*]:
    https://ftp.gnu.org/gnu/shepherd/shepherd-0.9.2.tar.gz
    https://ftp.gnu.org/gnu/shepherd/shepherd-0.9.2.tar.gz.sig

  Use a mirror for higher download bandwidth:
    https://ftpmirror.gnu.org/shepherd/shepherd-0.9.2.tar.gz
    https://ftpmirror.gnu.org/shepherd/shepherd-0.9.2.tar.gz.sig

  Here are the SHA1 and SHA256 checksums:

  b8861f58596f0938375d1a13ab4142f6dca50340  shepherd-0.9.2.tar.gz
  e192bbaac3d38e3a1fcb5624c0a925758abfd0b43bac4c88b6770df8fcf08b55  
shepherd-0.9.2.tar.gz

  [*] Use a .sig file to verify that the corresponding file (without the
  .sig suffix) is intact.  First, be sure to download both the .sig file
  and the corresponding tarball.  Then, run a command like this:

    gpg --verify shepherd-0.9.2.tar.gz.sig

  If that command fails because you don't have the required public key,
  then run this command to import it:

    gpg --keyserver keys.openpgp.org \
        --recv-keys 3CE464558A84FDC69DB40CFB090B11993D9AEBB5

  and rerun the 'gpg --verify' command.

  This release was bootstrapped with the following tools:
    Autoconf 2.71
    Automake 1.16.5
    Makeinfo 6.7
    Help2man 1.48.5


• Changes since version 0.9.1 (excerpt from the NEWS file)

  ** File descriptors used internally are now all marked as close-on-exec

  Previously, services started indirectly with ‘exec-command’ (which is usually
  the case) would not inherit any file descriptor from shepherd because
  ‘exec-command’ would explicitly close all of them.  However, services started
  with ‘make-system-constructor’ and processes created by some other means, such
  as calling ‘system*’, would inherit some of those descriptors, giving them
  more authority than intended.

  The change here consists in marking all internally-used file descriptors as
  “close-on-exec” (O_CLOEXEC), a feature that’s been available on GNU/Linux and
  GNU/Hurd for years but that so far wasn’t used consistently in shepherd.  This
  is now fixed.  As a side-effect, the file-descriptor-closing loop in
  ‘exec-command’ is now gone.

  ** Client connections with ‘herd’ are non-blocking

  Previously, a misbehaving client could send an incomplete command
  (s-expression), causing shepherd to hang while waiting for completion.  (Note
  that said client is required to run with the same UID as shepherd, so this was
  not a security issue.)

  ** Directory of log file is created if it doesn’t exist

  When a service constructor is passed ‘#:log-file "/var/log/foo/bar.log"’,
  shepherd now created /var/log/foo if it doesn’t exist; previously it would
  fail gracelessly.


Please report bugs to [email protected].
Join [email protected] for discussions.

Ludovic, on behalf of the Shepherd herd.

https://www.mail-archive.com/[email protected]/msg03091.html
Компания Microsoft объявила о начале тестирования кандидата в релизы Linux-версии СУБД SQL Server 2022 (RC 0). Установочные пакеты подготовлены для RHEL и Ubuntu. Для загрузки также доступны готовые образы контейнеров с SQL Server 2022, основанные на дистрибутивах RHEL и Ubuntu. Для Windows тестовый выпуск SQL Server 2022 был сформирован 23 августа.

Отмечается, что помимо общих новых возможностей, в SQL Server 2022 RC 0 также предложено несколько специфичных для Linux улучшений. В частности, добавлена поддержка аутентификации с использованием Azure Active Directory (AAD), обеспечена возможность изменения параметра REQUIRED_SYNCHRONIZED_SECONDARIES_TO_COMMIT для распределённых групп доступности, предоставлена поддержка средств аналитики Azure Synapse Link (для интеграции используется runtime, установленный на Windows-системе в той же сети). 

https://www.opennet.ru/opennews/art.shtml?num=57755
Бен Коттон (Ben Cotton), занимающий в компании Red Hat должность Fedora Program Manager, объявил о намерении перевести Fedora Linux по умолчанию на пакетный менеджер DNF5. В Fedora Linux 39 планируется заменить пакеты dnf, libdnf и dnf-cutomatic на инструментарий DNF5 и новую библиотеку libdnf5. Предложение пока не рассмотрено комитетом FESCo (Fedora Engineering Steering Committee), отвечающим за техническую часть разработки дистрибутива Fedora.

В своё время DNF пришёл на смену Yum, который был написан целиком на языке Python. В DNF требовательные к производительности низкоуровневые функции были переписаны и вынесены в отдельные Си-библиотеки hawkey, librepo, libsolv и libcomps, но каркас и высокоуровневые компонеты остались на языке Python. Проект DNF5 нацелен на унификацию имеющихся низкоуровневых библиотек, переписывание на языке С++ остающихся на Python компонентов управления пакетами и вынос базовой функциональности в отдельную библиотеку libdnf5 с созданием вокруг этой библиотеки обвязки для сохранения Python API.

Использование языка С++ вместо Python позволит избавиться от большого числа зависимостей, сократить размер инструментария и повысить производительность. Более высокая производительность достигается не только благодаря применению компиляции в машинный код, но и за счёт улучшенной реализации таблицы транзакций, оптимизации загрузки из репозиториев и реструктуризации БД (разделены базы с состоянием системы и историей операций). Инструментарий DNF5 избавлен от привязки к PackageKit, вместо которого задействован новый фоновый процесс DNF Daemon, заменяющий функциональность PackageKit и предоставляющий интерфейс для управления пакетами и обновлениями в графических окружениях.

Переработка также даст возможность реализовать некоторые улучшения, повышающие удобство работы с пакетным менеджером. Например, в новом DNF реализована более наглядная индикация прогресса выполнения операций; добавлена поддержка использования локальных RPM-пакетов для транзакций; добавлена возможность показа в отчётах о выполненных транзакциях информации, выдаваемой встроенными в пакеты скриптами (scriplets); предложена более продвинутая система автодополнения ввода для bash.

https://www.opennet.ru/opennews/art.shtml?num=57757
Ричард Столлман представил свою новую книгу "GNU C Language Intro and Reference Manual" (PDF, 260 страниц), написанную в соавторстве с Тревисом Ротуэллом (Trevis Rothwell, автор руководства "The GNU C Reference Manual", отрывки из которой использованы в книге Столлмана) и Нельсоном Биби (Nelson Beebe, написал главу о вычислениях с плавающей запятой). Книга нацелена на разработчиков, знакомых с принципами программирования на каком-то другом языке и желающих изучить язык Си. В руководстве также рассказывается об языковых расширениях, разработанных проектом GNU. Книга предложена для начальной вычитки и Столлман просит сообщать о всех выявленных неточностях или трудных для восприятия формулировках. 

https://www.opennet.ru/opennews/art.shtml?num=57742
После года разработки опубликован новый значительный выпуск дистрибутива OpenWrt 22.03.0, ориентированного на применение в различных сетевых устройствах, таких как маршрутизаторы, коммутаторы и точки доступа. OpenWrt поддерживает множество различных платформ и архитектур и обладает системой сборки, позволяющей просто и удобно производить кросс-компиляцию, включая в состав сборки различные компоненты, что позволяет легко сформировать адаптированную под конкретные задачи готовую прошивку или образ диска с желаемым набором предустановленных пакетов. Сборки сформированы для 35 целевых платформ.

Из изменений в OpenWrt 22.03.0 отмечается:

    По умолчанию задействовано новое приложение для управления межсетевым экраном - fw4 (Firewall4), основанное на пакетном фильтре nftables. Синтаксис файлов конфигурации для межсетевого экрана (/etc/config/firewall) и интерфейс uci не изменились - fw4 может выступать прозрачной заменой ранее применявшегося инструментария fw3, основанного на iptables. Исключение составляют правила добавленные вручную (/etc/firewall.user), которые потребуется переделать для nftables (fw4 позволяет добавлять собственные блоки правил, но в формате nftables).

    Старый инструментарий на базе iptables исключён из предлагаемых по умолчанию образов, но может быть возвращён при помощи пакетного менеджера opkg или инструментария Image Builder. Также предоставлены обвязки iptables-nft, arptables-nft, ebtables-nft и xtables-nft, позволяющие создавать для nftables правила с использованием старого синтаксиса iptables.
    Добавлена поддержка более 180 новых устройств, в том числе 15 устройств на базе чипа MediaTek MT7915 с поддержкой Wi-Fi 6 (IEEE 802.11ax). Общее число поддерживаемых устройств достигло 1580.
    Продолжен перевод целевых платформ на использование подсистемы ядра DSA (Distributed Switch Architecture), предоставляющей средства для настройки и управления каскадами соединённых между собой Ethernet-коммутаторов, применяя механизмы для настройки обычных сетевых интерфейсов (iproute2, ifconfig). DSA может применяться для настройки портов и VLAN вместо ранее предлагаемого инструмента swconfig, но не все драйверы коммутаторов пока поддерживают DSA. В предложенном выпуске DSA задействован для платформ bcm53xx (переведены драйверы для всех плат), lantiq (SoC на базе xrx200 и vr9) и sunxi (платы Bananapi Lamobo R1). Ранее на DSA были переведены платформы ath79 (TP-Link TL-WR941ND), bcm4908, gemini, kirkwood, mediatek, mvebu, octeon, ramips (mt7621) и realtek.
    В Web-интерфейсе LuCI реализован тёмный режим оформления. По умолчанию режим автоматически включается в зависимости от настроек браузера, но его также можно принудительно включить через меню "System" -> "System" -> "Language and Style".
    Решена проблема 2038 года, вызванная переполнением 32-разрядного типа time_t (32-разрядный эпохальный счётчик времени переполнится 19 января 2038 года). В новом выпуске в качестве стандартной библиотеки задействована ветка musl 1.2.x, в которой на 32-разрядных архитектурах старые 32-разрядные счётчики времени заменены на 64-разрядные (тип time_t заменён на time64_t). На 64-разрядных системах тип time64_t используется изначально (счётчик переполнится через 292 миллиарда лет). Переход на новый тип привёл к изменению ABI, что потребует пересборки всех 32-разрядных программ, связанных с musl libc (для 64-разрядных программ пересборка не требуется).
    Обновлены версии пакетов, включая ядро Linux 5.10.138 с портированием беспроводного стека cfg80211/mac80211 из ядра 5.15.58 (ранее предлагалось ядро 5.4 с беспроводным стеком из ветки 5.10), musl libc 1.2.3, glibc 2.34, gcc 11.2.0, binutils 2.37, hostapd 2.10, dnsmasq 2.86, dropbear 2022.82, busybox 1.35.0.
    Прекращено формирование сборок для платформы arc770 (Synopsys DesignWare ARC 770D). 

https://www.opennet.ru/opennews/art.shtml?num=57736
Разработчики анонимной сети Tor сформировали первый стабильный выпуск (1.0.0) проекта Arti, развивающего Tor-клиент, написанный на языке Rust. Выпуск 1.0 отмечен как пригодный для использования обычными пользователями и обеспечивающий тот же уровень конфиденциальности, юзабилити и стабильности, что и основная реализация на языке Си. Стабилизирован также API, предлагаемый для использования функциональности Arti в других приложениях. Код распространяется под лицензиями Apache 2.0 и MIT.

В отличие от реализации на Си, которая вначале была спроектирована как SOCKS-прокси, а уже потом подогнана под другие потребности, Arti изначально развивается в форме модульной встраиваемой библиотеки, которую смогут использовать различные приложения. Кроме того, при разработке нового проекта учитывается весь прошлый опыт разработки Tor, что позволяет избежать известных архитектурных проблем, сделать проект более модульным и эффективным.

В качестве причины переписывания Tor на Rust было желание добиться более высокого уровня защищённости кода за счёт использования языка, обеспечивающего безопасную работу с памятью. По оценке разработчиков Tor, как минимум половина всех отслеживаемых проектом уязвимостей будет исключена в реализации на Rust, если в коде не используются блоки "unsafe". Rust также даст возможность добиться более высокой скорости разработки, чем при использовании Си, за счёт выразительности языка и строгих гарантий, позволяющих не тратить время на двойные проверки и написание лишнего кода.

По итогам разработки первой версии использование языка Rust оправдало себя. Например, замечено, что на каждом этапе в коде на Rust совершалось меньше ошибок, чем при сопоставимой разработке на Си - всплывшие в процессе разработки ошибки в основном были связаны с логикой и семантикой. Излишняя требовательность компилятора rustc, отмечаемая некоторыми как недостаток, на деле оказалась благом, так как если код компилируется и проходит тесты, значительно повышается вероятность его корректности.

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

Выпуск 1.0 в основном сосредоточен на базовой работе в роли клиента. В версии 1.1 планируется реализовать поддержку подключаемого транспорта и бриджей для обхода блокировок. В версии 1.2 ожидается поддержка onion-сервисов и сопутствующих возможностей, таких как протокол управления перегрузкой (RTT Congestion Control) и средства защиты от DDoS-атак. Достижение паритета с клиентом на языке Си намечено в ветке 2.0, в которой также будут предложены привязки для использования Arti в коде на различных языках программирования.

В течение следующих нескольких лет работа будет направлена на реализацию функциональности, необходимой для работы релеев и серверов директорий. Когда код на Rust достигнет уровня, способного полностью заменить вариант на Си, разработчики намерены придать Arti статус основной реализации Tor и прекратить сопровождение реализации на Си. Поддержка версии на языке Си будет прекращена постепенно с предоставлением возможности плавной миграции.


https://www.opennet.ru/opennews/art.shtml?num=57723
В день десятилетия проекта сформирован выпуск OBS Studio 28.0, пакета для потокового вещания, композитинга и записи видео. Код написан на языках C/C++ и распространяется под лицензией GPLv2. Сборки сформированы для Linux, Windows и macOS.

Целью разработки OBS Studio было создание переносимого варианта приложения Open Broadcaster Software (OBS Classic), не привязанного к платформе Windows, поддерживающего OpenGL и расширяемого через плагины. Отличием также является использование модульной архитектуры, подразумевающей разделение интерфейса и ядра программы. Поддерживается перекодирование исходных потоков, захват видео во время игр и стриминг в Twitch, Facebook Gaming, YouTube, DailyMotion, Hitbox и другие сервисы. Для обеспечения высокой производительности возможно использование механизмов аппаратного ускорения (например, NVENC и VAAPI).

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

Ключевые изменения:

    Значительно улучшено управление цветом. Добавлена поддержка расширенного динамического диапазона (HDR, High Dynamic Range) и глубины цвета 10 бит на канал. Добавлены новые настройки цветовых пространств и форматов. Кодирование с использованием HDR и 10-битной цветностью доступно для форматов AV1 и HEVC и требует для HEVC GPU уровня NVIDIA 10 и AMD 5000 (Intel QuickSync и Apple VT пока не поддерживаются). Потоковое вещание в HDR пока достуано только через HLS-сервис YouTube. На платформах Linux и macOS поддержка HDR ещё требует доработки, например, не работает предпросмотр HDR и требуется обновление некоторых кодировщиков.
    Графический интерфейс переведён на использование Qt 6. С одной стороны, обновление Qt позволило получить актуальные исправления ошибок и улучить поддержку Windows 11 и Apple Silicon, но с другой стороны, привело к прекращению поддержки Windows 7 & 8, macOS 10.13 & 10.14, Ubuntu 18.04 и всех 32-разрядных операционных систем, а также к потере совместимости с некоторыми плагинами, продолжающими использовать Qt 5 (большинство плагинов уже переведено на Qt 6).
    Добавлена поддержка компьютеров Mac, оснащённых ARM-чипом Apple M1 (Apple Silicon), в том числе предоставлены родные сборки, работающие без эмуляции. Так как родные сборки несовместимы со многими плагинами, оставлена и возможность использования на устройствах Apple Silicon сборок на базе архитектуры x86. В кодировщике Apple VT на системах Apple Silicon реализована поддержка CBR, CRF и Simple Mode.
    Для Windows добавлена новая, более оптимизированная, реализация кодировщика для чипов AMD, добавлена поддержка компонента удаления фона NVIDIA Background Removal (требует NVIDIA Video Effects SDK), предоставлено приложение для захвата звука, в фильтр подавления шумов NVIDIA Noise Suppression добавлен режим удаления эха.
    Для macOS 12.5+ реализована поддержка фреймворка ScreenCaptureKit, в том числе позволяющего захватывать видео со звуком.
    Предоставлена возможность выборочного смешивания видео для виртуальной камеры.
    В число официальных плагинов включён obs-websocket 5.0 для удалённого управления OBS с передачей данных поверх WebSocket.
    По умолчанию предложена новая тема оформления "Yami".
    Добавлена возможность автоматической разбивки записи на части в зависимости о размера файла или продолжительности, а также в ручном режиме.
    Добавлена встроенная поддержка вывода с использованием протоколов SRT (Secure Reliable Transport) и RIST (Reliable Internet Stream Transport).
    Добавлена поддержка отправки из интерфейса OBS сообщений в чат YouTube. 

https://www.opennet.ru/opennews/art.shtml?num=57712
A leading Chinese Linux vendor is polishing what may be its last Debian-based release, and preparing for the move to becoming a fully independent distro with its own new package format, Linglong.

Deepin, the most internationally visible Chinese Linux distribution, has put out two new versions: the latest release of its existing stable version, Deepin 20.6, and a preview of the forthcoming new major release, Deepin 23.

Back in April, we looked at Deepin 20.5, the previous release. This version is a relatively minor update with some components refreshed: kernel 5.15, including native NTFS support, and the option of kernel 5.17; version 510 of the Nvidia binary graphics driver; and Qt version 5.15. Issues in the Deepin Desktop Environment (DDE) and various accessory programs have been fixed, and the system-wide search tool has been improved.
Deepin 20.06 retains its bright, colourful desktop, combining elements of Windows 7, 10 and now 11 too.

Deepin 20.06 retains its bright, colorful desktop, combining elements of Windows 7, 10 and now 11 too

All these things are relatively routine stuff for a minor version of any Linux distribution, and there's nothing wrong with that. The relevance is that although Deepin doesn't get a lot of coverage in the West, it certainly shows that Deepin has noteworthy traction, and that the company is listening to its users and actively maintaining the software.

We tried it in a VM and while it displays a message that advises against that, with some coaxing, it does work, and it's as pretty as ever.

The forthcoming major release version is rather more significant, with a new packaging format and a planned move to become a fully independent distro.

Deepin has been based on Debian stable for some years after switching from Ubuntu in 2015. In our opinion, that's a significant advantage: it makes it easy to add additional software, including drivers, and the Deepin Software Store is – understandably – skewed towards Chinese apps, sites and services, some of which are of little relevance to users in other countries.

Deepin is the free international version of UOS, a Chinese-language family of distros from Chinese vendor Tongxin UnionTech. There isn't much info on UOS in English, as its Wikipedia page shows.

Now the company has announced that this will change:

It is expected to be built from the Linux kernel and other open-source components without relying on the communities of upstream distributions, and to provide basic services and the foundation for the establishment of an independent upstream.

Alongside the move to becoming a self-contained distro, Deepin has also announced its own packaging format, Linglong. UOS has started to publish some information about the format, along with an app store.

    PanWriter: Cross-platform writing tool runs on anything and outputs to anything
    Universal Unix tool AWK gets Unicode support
    Weighing the less mainstream Ubuntu remixes: Including China's Kylin
    We tested all the Ubuntu remixes for resource usage so you don't have to

There isn't a lot of detail so far, but the promised benefits put us in mind of both Snap and Flatpak, such as app sandboxing and cross-distro compatibility. However, the announcement also talks about improved ease of packaging, incremental updates, and package layering to reduce the size of app bundles.
So far, Deepin 23 doesn't look very different, but this version lets you enable effects in a VM – for example, the transparent floating panel.

So far, Deepin 23 doesn't look very different, but this version lets you enable effects in a VM – for example, the transparent floating panel

We installed the preview version of Deepin 23 in a VM, and so far this test release is still based on Debian. For instance, we were able to install DKMS, which allowed us to install VirtualBox's guest additions.

It's not inconceivable that a new format could surpass and supersede all the existing cross-distro formats as they all have well-documented drawbacks: Snap works on both desktops and servers, but there's only one official Snap store, and the multiple loop-mounts slow down system startup. If the underlying file system supports it, Flatpak has deduplication and so uses less disk space, but it's desktop-only. AppImage is the easiest, but it's up to apps to manage their own updates.

It wouldn't be trivial to overcome all of these in one tool, but it's not impossible and it would certainly be welcome. This leaves the issue of whether Western vendors would trust such a fundamental tool if it were to originate in the People's Republic. In the past, some commentators in the West have raised privacy concerns, which the company denied. ®

https://www.theregister.com/2022/08/25/deepin_206_23/
Исследователей из Северо-западного Университета в Иллинойсе, Zhenpeng Lin, Yuhang Wu и Xinyu Xing опубликовали данные об уязвимости DirtyCred (идентификатор — CVE-2022-2588). Уязвимыми авторы называют все версии ядра, вышедшие за последние 8 лет.

Уязвимость использует технику use-after-free. Из-за ошибки в файле net/sched/cls_route.c ядро может сначала освободить память, а затем повторно использовать её. В данном случае в памяти размещаются реквизиты доступа, что позволяет злоумышленнику выполнить свою программу с повышенными привилегиями. Для эксплуатации уязвимости необходима программа с SUID битом, доступная злоумышленнику, например, su или sudo.

DirtyCred похожа на мартовскую DirtyPipe, но позволяет больше, например, выход из контейнера.

Прототип эксплоита пока не представлен. Атаки типа use-after-free достаточно сложны в исполнении и не гарантируют стабильный результат, однако обновиться всё-таки стоит.

https://access.redhat.com/security/cve/cve-2022-2588
Представлен релиз растрового графического редактора Krita 5.1.0, предназначенного для художников и иллюстраторов. Редактор поддерживает многослойную обработку изображений, предоставляет средства для работы с различными цветовыми моделями и обладает большим набором средств для цифровой живописи, создания скетчей и формирования текстур. Для установки подготовлены самодостаточные образы в формате AppImage для Linux, экспериментальные APK-пакеты для ChromeOS и Android, а также бинарные сборки для macOS и Windows. Проект написан на языке С++ с использованием библиотеки Qt и распространяется под лицензией GPLv3.

Основные новшества:

    Улучшена работа со слоями. Добавлена возможность выполнения операций копирования, вырезания, вставки и очистки сразу для нескольких выделенных слоёв. В панель управления слоями добавлена кнопка для вызова контекстного меню для пользователей без мыши. Предоставлены средства для выравнивания слоёв в группе. Добавлена поддержка рисования в выделенных областях с использованием режимов смешивания.

    Добавлена поддержка форматов WebP, JPEG-XL, OpenExr 2.3/3+, а также многослойных файлов TIFF со специфичной для Photoshop структурой слоёв. Добавлена поддержка палитр ASE и ACB, применяемых в Photoshop и других программах Adobe. При чтении и сохранении изображений в формате PSD реализована поддержка слоёв заливки и цветных меток.
    Улучшено извлечение изображений из буфера обмена. При вставке предоставлена возможность выбора опций, позволяющих использовать особенности помещения изображений в буфер обмена разными приложениями.
    Задействован новый бэкенд для ускорения операций с использованием векторных инструкций CPU, основанный на библиотеке XSIMD, который по сравнению с ранее применявшимся бэкендом на базе библиотеки VC позволил повысить производительность кистей, в которых применяется смешивание цветов, а также обеспечил возможность использования векторизации на платформе Android.
    Добавлены профили для цветовых пространств YCbCr.
    В диалог компоновки цвета (Specific Color Selector) добавлена область для предпросмотра полученного цвета и реализована возможность переключения между режимами HSV и RGB.

    Добавлена опция для масштабирования содержимого к размеру окна.
    Расширены возможности инструментов заливки. Добавлены два новых режима: непрерывная заливка, при котором подлежащие заливке области определяются перемещением курсора, и инструмент "Enclose and fill", в котором заливка осуществляется в области, попадающие в перемещаемый прямоугольник или другую фигуру. Для улучшения сглаживания границ при заливке задействован алгоритм FXAA.

    В инструменты для работы с кистями добавлена настройка для определения максимальной скорости движения кисти. В кисть-распылитель добавлены дополнительные режимы распределения частиц. В движок с кистями для создания скетчей (Sketch Brush Engine) добавлена поддержка сглаживания. Разрешено определять отдельные настройки для ластика.

    Предоставлена возможность настройки управляющих жестов, таких как масштабирвоание щипком, отмена касанием и вращение поворотом пальцев.
    Во всплывающем диалоге с палитрой предложены дополнительные настройки.
    Переделано меню для доступа к недавно открытым файлам.
    В интерфейс смешивания цветов (Digital Color Mixer) добавлены кнопки для сброса и сохранения изменений.
    Добавлен инструмент для упрощения рисования кругов в перспективе.
    Фильтр Levels разрешено применять к отдельным каналам.
    Для сокращения времени сборки на системах разработчиков добавлена поддержка сборки с предварительно скомпилированными заголовочными файлами.
    В сборках для платформы Android решены проблемы с использованием системы управления цветами OCIO.
    На платформе Windows осуществлён переход на свежую кодовую базу прослойки ANGLE, отвечающей за трансляцию вызовов OpenGL ES в Direct3D. В Windows также предоставлена возможность использования инструментария llvm-mingw, поддерживающего сборку для архитектуры RISC-V. 

https://www.opennet.ru/opennews/art.shtml?num=57657
Организация MITRE присвоила видеоклипу с песней Джанет Джексон "Rhythm Nation" идентификатор уязвимости CVE-2022-38392 из-за нарушения нормальной работы некоторых старых ноутбуков во время её воспроизведения. Проводимая с использованием указанной композиции атака может привести к аварийному завершению работы системы из-за сбоев в работе жёсткого диска, связанных с возникающим при воспроизведении определённых частот резонансом.

Отмечается, что частота некоторых инструментов в клипе совпадает с колебаниями, возникающими в дисках, вращающихся с частотой 5400 оборотов в минуту, что приводит к резкому увеличению амплитуды их колебаний. Информацией о проблеме поделился сотрудник Microsoft, рассказавший историю из будней службы поддержки продукта Windows XP о том как разбирая жалобы пользователей один из крупных производителей оборудования выявил, что композиция "Rhythm Nation" приводит к нарушениям в работе отдельных моделей накопителей на основе жёстких магнитных дисков, используемых в выпускаемых данным производителем ноутбуках.

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

https://www.opennet.ru/opennews/art.shtml?num=57651
Владелец автомобиля Hyundai Ioniq SEL опубликовал серию статей с рассказом, как ему удалось внести изменения в прошивку, используемую в информационно-развлекательной системе (IVI) на базе операционной системы D-Audio2V, применяемой в автомобилях Hyundai и Kia. Оказалось, что все необходимые для расшифровки и верификации данные публично доступны в сети и для их определения потребовалось лишь несколько запросов в Google.

Предлагаемое производителем обновление прошивки к IVI-системе поставлялось в zip-файле, зашифрованном паролем, а содержимое самой прошивки было зашифровано при помощи алгоритма AES-CBC и заверено цифровой подписью на основе ключей RSA. Пароль от zip-архива и AES-ключ для расшифровки образа updateboot.img удалось найти в скрипте linux_envsetup.sh, который в открытом виде присутствовал в пакете system_package с открытыми компонентами ОС D-Audio2V, распространяемом на сайте производителя IVI-системы.

Тем не менее для модификации прошивки не хватало закрытого ключа, применяемого для заверения по цифровой подписи. Примечательно, что RSA-ключ помогла найти поисковая система Google. Исследователь отправил поисковый запрос, указав ранее найденный AES-ключ и натолкнулся на то, что ключ не является уникальным и упоминается в документе NIST SP800-38A. Рассудив, что похожим образом заимствован и RSA-ключ исследователь нашёл в сопровождающем прошивку коде открытый ключ и попытался найти по нему информацию в Google. Запрос показал, что указанный открытый ключ упоминается в примере из руководства по использованию OpenSSL, в котором также указан и закрытый ключ.

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

https://www.opennet.ru/opennews/art.shtml?num=57648
GitHub опубликовал отчёт, в котором отражены уведомления о нарушении интеллектуальной собственности и публикации незаконного содержимого, поступившие за первую половину 2022 года. Ранее подобные отчёты публиковались ежегодно, но теперь GitHub перешёл на раскрытие информации раз в полугодие. В соответствии с действующим в США Законом об авторском праве в цифровую эпоху (DMCA, Digital Millennium Copyright Act), в первой половине 2022 года GitHub получил 1200 требований о блокировке. От владельцев репозиториев поступило 20 опровержений на неправомерную блокировку.

Из-за получения жалоб на нарушения условий использования сервиса, не связанных с DMCA, GitHub скрыл 44913 учётных записей, из которых 356 впоследствии были восстановлены. Блокировка доступа владельца учётной записи были предпринята в 268 случаях (16 учётных записей затем были разблокированы). Для 2617 учётных записей одновременно были применены и блокировка и скрытие (восстановлены затем были 54 учётных записей). В разрезе проектов было отключено 1766 проектов и возвращено только 4.

GitHub также получил 212 запросов о раскрытии данных пользователей (для сравнения за первое полугодие 2021 года было получено 172 запросов). 122 подобных запроса было отправлено в форме судебных повесток (118 криминальных дел и 4 гражданских), 56 - судебных постановлений и 10 ордера на обыск. 98.1% запросов были отправлены правоохранительными органами, а 1.9% по гражданским искам. Удовлетворено 169 запросов из 212, в результате чего раскрыты сведения о 1361 учётной записи. Пользователи были уведомлены о раскрытии их данных только 3 раза, так как оставшиеся 166 запросов были снабжены предписанием о неразглашении информации (gag order).

От государственных служб поступило три требования удаления контента из-за нарушений локальных законодательств, два из которых были получены из России и одно из Австралии. Запросы из России были отправлены Роскомнадзором и связаны с блокировкой деятельности online-казино.
Определённое число запросов также поступило от спецслужб США в рамках закона о негласном наблюдении в целях внешней разведки, но точное число запросов данной категории не подлежит разглашению, сообщается только, что подобных запросов меньше 250 и они затрагиванию менее 250 учётных записей. 22 запроса на раскрытие данных поступило от иностранных правоохранительных органов (по одному из Аргентины, Эстонии, Франции, Сан Марино, Испании и Швейцарии 2 из Бразилии и 15 из Индии).

За отчётный период в GitHub поступило 464 апелляции (для сравнения за первое полугодие 2021 года - 591) о необоснованных блокировках при выполнении требований по ограничению экспорта в отношении территорий (Крым, ДНР, ЛНР Иран, Куба, Сирия и Северная Корея), подпадающих под санкции США. 355 апелляции были приняты, 103 отклонены и 6 возвращены с запросом дополнительных сведений.

https://www.opennet.ru/opennews/art.shtml?num=57646
Уязвимость в устройствах на базе SoC Realtek, позволяющая выполнить код через отправку UDP-пакета

Исследователи из компании Faraday Security представили на конференции DEFCON детали эксплуатации критической уязвимости (CVE-2022-27255) в SDK для чипов Realtek RTL819x, позволяющей выполнить свой код на устройстве через отправку специально оформленного UDP-пакета. Уязвимость примечательна тем, что позволяет атаковать устройства, в которых отключён доступ в web-интерфейс для внешних сетей - для атаки достаточно просто отправить один UDP-пакет.

Уязвимость затрагивает устройства, в которых используются уязвимые версии SDK Realtek, включая eCos RSDK 1.5.7p1 и MSDK 4.9.4p1. Обновления eCos SDK с устранением уязвимости были опубликованы Realtek 25 марта. Пока не ясно какие именно устройства подвержены проблеме - SoC Realtek RTL819x используется в сетевых маршрутизаторах, точках доступа, усилителях Wi-Fi, IP-камерах, устройствах интернета вещей и прочих сетевых устройствах более 60 производителей, включая Asus, A-Link, Beeline, Belkin, Buffalo, D-Link, Edison, Huawei, LG, Logitec, MT-Link, Netgear, Smartlink, UPVEL, ZTE и Zyxel.

В открытом доступе уже опубликованы примеры эксплоитов для получения удалённого доступа к устройству и выполнения своих команд на примере атаки на маршрутизатор Nexxt Nebula 300 Plus. Дополнительно опубликованы утилиты для анализа прошивок на наличие уязвимости.

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

Уязвимость вызвана переполнением буфера в модуле "SIP ALG" (SIP Application Layer Gateway), применяемом для организации проброса SIP-пакетов за транслятор адресов. Проблема возникла из-за отсутствия проверки фактического размера полученных данных, что приводит к перезаписи области памяти за пределами фиксированного буфера при вызове функции strcpy во время обработки пакетов SIP. Атака может быть совершена через отправку UDP-пакета с некорректными значениями полей в блоке данных SDP или заголовке протокола SIP. Для эксплуатации достаточно отправить один пакет на произвольный UDP-порт WAN-интерфейса. 

https://www.opennet.ru/opennews/art.shtml?num=57645
Уязвимость в устройствах на базе SoC Realtek, позволяющая выполнить код через отправку UDP-пакета

Исследователи из компании Faraday Security представили на конференции DEFCON детали эксплуатации критической уязвимости (CVE-2022-27255) в SDK для чипов Realtek RTL819x, позволяющей выполнить свой код на устройстве через отправку специально оформленного UDP-пакета. Уязвимость примечательна тем, что позволяет атаковать устройства, в которых отключён доступ в web-интерфейс для внешних сетей - для атаки достаточно просто отправить один UDP-пакет.

Уязвимость затрагивает устройства, в которых используются уязвимые версии SDK Realtek, включая eCos RSDK 1.5.7p1 и MSDK 4.9.4p1. Обновления eCos SDK с устранением уязвимости были опубликованы Realtek 25 марта. Пока не ясно какие именно устройства подвержены проблеме - SoC Realtek RTL819x используется в сетевых маршрутизаторах, точках доступа, усилителях Wi-Fi, IP-камерах, устройствах интернета вещей и прочих сетевых устройствах более 60 производителей, включая Asus, A-Link, Beeline, Belkin, Buffalo, D-Link, Edison, Huawei, LG, Logitec, MT-Link, Netgear, Smartlink, UPVEL, ZTE и Zyxel.

В открытом доступе уже опубликованы примеры эксплоитов для получения удалённого доступа к устройству и выполнения своих команд на примере атаки на маршрутизатор Nexxt Nebula 300 Plus. Дополнительно опубликованы утилиты для анализа прошивок на наличие уязвимости.

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

Уязвимость вызвана переполнением буфера в модуле "SIP ALG" (SIP Application Layer Gateway), применяемом для организации проброса SIP-пакетов за транслятор адресов. Проблема возникла из-за отсутствия проверки фактического размера полученных данных, что приводит к перезаписи области памяти за пределами фиксированного буфера при вызове функции strcpy во время обработки пакетов SIP. Атака может быть совершена через отправку UDP-пакета с некорректными значениями полей в блоке данных SDP или заголовке протокола SIP. Для эксплуатации достаточно отправить один пакет на произвольный UDP-порт WAN-интерфейса. 

https://www.opennet.ru/opennews/art.shtml?num=57645

Show Post Actions

Actions:

Captcha:

- feedback - news - rules - faq -
jschan 1.4.1