Forwarded from godnoTECH - Новости IT
Программист отсудил 1,2 млн рублей у компании, обвинившей его в злоупотреблении ИИ 👍
Конфликт тлел с сентября 2025-го, когда сотрудник отказался переходить на почасовую оплату. Дальше, по его версии, началась классика: принуждение к увольнению, пять служебных проверок, три дисциплинарных взыскания, неполный аванс и должностная инструкция, с которой его так и не ознакомили. Работодатель рисовал картину иначе: сотрудник халатно выполнял обязанности и "злоупотреблял использованием ИИ", что подтверждалось аналитическими отчётами. В общем, типовой спор, где каждая сторона видит происходящее по-своему.
В суде вся грозная позиция компании рассыпалась в пыль из-за детской ошибки кадровиков: оформляя выговор, эйчары указали причиной "непредставление сотрудником объяснений", хотя его подробные письменные объяснительные всё это время спокойно лежали у них на столе🤦♂
В итоге судья признал взыскания туфтой, изменил позорную статью увольнения на "по собственному желанию" и взыскал с конторы 1,2 миллиона рублей за вынужденный прогул. Притянуть нейросети в качестве повода для увольнения оказалось звучно и модно, а вот правильно оформить бумажки по закону эффективные менеджеры так и не осилили.
🥸 godnoTECH - Новости IT
Конфликт тлел с сентября 2025-го, когда сотрудник отказался переходить на почасовую оплату. Дальше, по его версии, началась классика: принуждение к увольнению, пять служебных проверок, три дисциплинарных взыскания, неполный аванс и должностная инструкция, с которой его так и не ознакомили. Работодатель рисовал картину иначе: сотрудник халатно выполнял обязанности и "злоупотреблял использованием ИИ", что подтверждалось аналитическими отчётами. В общем, типовой спор, где каждая сторона видит происходящее по-своему.
В суде вся грозная позиция компании рассыпалась в пыль из-за детской ошибки кадровиков: оформляя выговор, эйчары указали причиной "непредставление сотрудником объяснений", хотя его подробные письменные объяснительные всё это время спокойно лежали у них на столе
В итоге судья признал взыскания туфтой, изменил позорную статью увольнения на "по собственному желанию" и взыскал с конторы 1,2 миллиона рублей за вынужденный прогул. Притянуть нейросети в качестве повода для увольнения оказалось звучно и модно, а вот правильно оформить бумажки по закону эффективные менеджеры так и не осилили.
Please open Telegram to view this post
VIEW IN TELEGRAM
🌚35👍15💔3❤1
Canonical снова взялась за Ubuntu Core Desktop (систему, где вообще всё, включая ядро, будет в snap-пакетах)
Canonical реанимировала Ubuntu Core Desktop, десктопную версию Ubuntu, построенную целиком на snap-пакетах вместо классических deb. Идея не новая, но в этот раз заход куда более радикальный: если обычные иммутабельные дистрибутивы (та же Fedora Silverblue) просто монтируют системные разделы в режиме только для чтения, то здесь буквально всё — ядро, загрузчик, рабочий стол, медиасерверы, фоновые процессы — пакуется в snap и управляется через snapd.
В отличие от первой попытки, систему решили сделать модульной. Вместо одного монолитного snap с базовой системой, её разобьют на отдельно обновляемые пакеты. Приложения будут жить в изоляции от остальной системы (а для тех, кто в изоляцию не умеет, будет прослойка на виртуализации), а доступ к ресурсам вроде камеры, микрофона или домашней папки будет требовать явного подтверждения от пользователя динамически, на основе анализа системных вызовов, с разграничением через AppArmor.
Разработку ведут под три конкретных сценария.
— Для веб-ориентированной рабочей станции всё уже почти готово (есть snap Firefox и Chromium с рабочим запросом доступа к камере/микрофону).
— Для разработчиков изолированные окружения через инструмент workshop на базе LXD, с возможностью запускать deb, flatpak или классические snap через контейнеры и виртуализацию, когда что-то не укладывается в новую модель.
— А для геймеров ставка на snap-пакет Steam, где даже Proton, Mesa и драйверы будут отдельными snap-компонентами, что теоретически позволит держать разные версии графического стека под разные игры без конфликтов.
Отдельно интересно, что параллельно начали портировать на Ubuntu Core и KDE Neon, то есть Canonical явно не хочет привязывать концепцию исключительно к GNOME, понимая, что часть аудитории на снапы и так смотрит с подозрением, а привязка к одному DE сузила бы её ещё сильнее.
Linux / Линукс🥸
Canonical реанимировала Ubuntu Core Desktop, десктопную версию Ubuntu, построенную целиком на snap-пакетах вместо классических deb. Идея не новая, но в этот раз заход куда более радикальный: если обычные иммутабельные дистрибутивы (та же Fedora Silverblue) просто монтируют системные разделы в режиме только для чтения, то здесь буквально всё — ядро, загрузчик, рабочий стол, медиасерверы, фоновые процессы — пакуется в snap и управляется через snapd.
В отличие от первой попытки, систему решили сделать модульной. Вместо одного монолитного snap с базовой системой, её разобьют на отдельно обновляемые пакеты. Приложения будут жить в изоляции от остальной системы (а для тех, кто в изоляцию не умеет, будет прослойка на виртуализации), а доступ к ресурсам вроде камеры, микрофона или домашней папки будет требовать явного подтверждения от пользователя динамически, на основе анализа системных вызовов, с разграничением через AppArmor.
Разработку ведут под три конкретных сценария.
— Для веб-ориентированной рабочей станции всё уже почти готово (есть snap Firefox и Chromium с рабочим запросом доступа к камере/микрофону).
— Для разработчиков изолированные окружения через инструмент workshop на базе LXD, с возможностью запускать deb, flatpak или классические snap через контейнеры и виртуализацию, когда что-то не укладывается в новую модель.
— А для геймеров ставка на snap-пакет Steam, где даже Proton, Mesa и драйверы будут отдельными snap-компонентами, что теоретически позволит держать разные версии графического стека под разные игры без конфликтов.
Отдельно интересно, что параллельно начали портировать на Ubuntu Core и KDE Neon, то есть Canonical явно не хочет привязывать концепцию исключительно к GNOME, понимая, что часть аудитории на снапы и так смотрит с подозрением, а привязка к одному DE сузила бы её ещё сильнее.
Linux / Линукс
Please open Telegram to view this post
VIEW IN TELEGRAM
Ubuntu Discourse
Accelerating Ubuntu Core Desktop
Ubuntu Core Desktop is Canonical’s (currently unreleased) immutable and attestable Linux desktop. It represents the most fundamental shift in Ubuntu’s desktop architecture to date, and will mature into the default experience for Ubuntu Desktop over time.…
😁20🤣11🌚6😢3🎅2
Удалённая уязвимость в серверных UEFI-прошивках, эксплуатируемая через отправку ICMP-пакета
В TianoCore EDK II (EFI Development Kit II), открытой эталонной реализации UEFI, применяемой в большинстве серверных материнских плат, устранена критическая уязвимость (CVE-2026-97631). Уязвимость присутствует в драйвере PXE и может быть эксплуатирована через отправку специально оформленных ICMP-пакетов во время сетевой загрузки в сетях IPv4 или IPv6. Атака не требует аутентификации и позволяет злоумышленнику выполнить свой код с привилегиями UEFI-прошивки на этапе до передачи управления операционной системе, что может быть использовано для обхода механизма верифицированной загрузки UEFI Secure Boot и подстановки вредоносных компонентов на этапе загрузки.
Проблема вызвана переполнением буфера в обработчике ICMP-сообщений в драйвере UefiPxeBcDxe, который используется для PXE-загрузки и принимает ICMP-пакеты во время загрузки по сети для фиксации сетевых ошибок. Переполнение возникает из-за помещения получаемых сообщений об ошибках в фиксированный буфер, размером 504 байта, без проверки фактического размера полученных данных. В случае отправки более 504 байтов в ICMP-пакете, не вмещающийся хвост записывается за пределы буфера и накладывается на идущие следом структуры.
Атака может быть проведена из глобальной сети - достаточно знать IP-адрес жертвы и суметь определить момент PXE-загрузки. Зная какая именно прошивка используется на сервере жертвы, атакующий может подготовить эксплоит с учётом размещения структур в памяти конкретной сборки прошивки и эксплуатировать уязвимость для выполнения кода на уровне DXE (Driver Execution Environment), выполняемом в нулевом кольце защиты.
Проект EDK II открыт в 2004 году компанией Intel и используется всеми крупными производителями прошивок для серверных систем, датацентров и облачных провайдеров. Среди прочего, он применяется в прошивках AMI, Insyde и Phoenix. Уязвимости также присутствует в прошивках на базе платформы Mu от компании Microsoft, которая представляет собой форк EDK II.
Проблема выявлена представителями компаний Anthropic и Google, и была запланирована для скоординированного публичного раскрытия в январе 2027 года. Но обнародовать информацию пришлось раньше, так как инженер из компании AMI случайно нарушил эмбарго и опубликовал публичный pull-запрос с исправлением, на основе которого можно было понять суть уязвимости.
Linux / Линукс🥸
В TianoCore EDK II (EFI Development Kit II), открытой эталонной реализации UEFI, применяемой в большинстве серверных материнских плат, устранена критическая уязвимость (CVE-2026-97631). Уязвимость присутствует в драйвере PXE и может быть эксплуатирована через отправку специально оформленных ICMP-пакетов во время сетевой загрузки в сетях IPv4 или IPv6. Атака не требует аутентификации и позволяет злоумышленнику выполнить свой код с привилегиями UEFI-прошивки на этапе до передачи управления операционной системе, что может быть использовано для обхода механизма верифицированной загрузки UEFI Secure Boot и подстановки вредоносных компонентов на этапе загрузки.
Проблема вызвана переполнением буфера в обработчике ICMP-сообщений в драйвере UefiPxeBcDxe, который используется для PXE-загрузки и принимает ICMP-пакеты во время загрузки по сети для фиксации сетевых ошибок. Переполнение возникает из-за помещения получаемых сообщений об ошибках в фиксированный буфер, размером 504 байта, без проверки фактического размера полученных данных. В случае отправки более 504 байтов в ICMP-пакете, не вмещающийся хвост записывается за пределы буфера и накладывается на идущие следом структуры.
Атака может быть проведена из глобальной сети - достаточно знать IP-адрес жертвы и суметь определить момент PXE-загрузки. Зная какая именно прошивка используется на сервере жертвы, атакующий может подготовить эксплоит с учётом размещения структур в памяти конкретной сборки прошивки и эксплуатировать уязвимость для выполнения кода на уровне DXE (Driver Execution Environment), выполняемом в нулевом кольце защиты.
Проект EDK II открыт в 2004 году компанией Intel и используется всеми крупными производителями прошивок для серверных систем, датацентров и облачных провайдеров. Среди прочего, он применяется в прошивках AMI, Insyde и Phoenix. Уязвимости также присутствует в прошивках на базе платформы Mu от компании Microsoft, которая представляет собой форк EDK II.
Проблема выявлена представителями компаний Anthropic и Google, и была запланирована для скоординированного публичного раскрытия в январе 2027 года. Но обнародовать информацию пришлось раньше, так как инженер из компании AMI случайно нарушил эмбарго и опубликовал публичный pull-запрос с исправлением, на основе которого можно было понять суть уязвимости.
Linux / Линукс
Please open Telegram to view this post
VIEW IN TELEGRAM
GitHub
GitHub - tianocore/edk2: EDK II
EDK II. Contribute to tianocore/edk2 development by creating an account on GitHub.
🤯17👍3❤2
Forwarded from Типичный Сисадмин
Отечественный энтерпрайз в лице Группы Астра расчехлил пачку экстренных бюллетеней (для всех актуальных веток от 1.6 до 1.8 и спецсборок). Полноценного патча пока нет.
Всё из-за
CVE-2026-98432. Взлом строится через протокол MPTCP (Multipath TCP) и механизм миграции сокетов входящих соединений. Для тех, кто в танке... MPTCP это фича, позволяющая агрегировать несколько сетевых каналов в одно TCP-соединение и бесшовно перекидывать сокеты между интерфейсами. Архитектурно круто, но теперь это технологическое отверстие через которое вас могут...
Астра предлагает рубить функционал топором через параметры ядра. Да, отказоустойчивость и балансировка по нескольким каналам идут по бороде, но это лучше, чем рут-шелл извне. Предлагается следующее:
echo "net.mptcp.enabled=0" | sudo tee -a /etc/sysctl.d/mptcp.conf
echo "net.ipv4.tcp_migrate_req=0" | sudo tee -a /etc/sysctl.d/mptcp.conf
sudo sysctl -p /etc/sysctl.d/mptcp.conf
Если у вас на серваке крутится софт, написанный на Go (версии 1.24 и старше), то тот тоже плохие новости... рантайм Go активирует поддержку MPTCP автоматически. Админам предлагается пройтись топором по всем systemd-юнитам в проде и вкорячить туда костыль
Environment=GODEBUG=multipathtcp=0. Либо дописывать это в go.mod и пересобирать релизы. Идеальное занятие на выходные
Если вы сидите на КИИ и sysctl вам мало, то в биллютенях запилен список дополнительных рекомендаций. Чтобы хацкер точно не закрепился:
lkrg для защиты пространства памяти./dev/mem.БЮЛЛЕТЕНЬ № 2026-1030SE17MD
БЮЛЛЕТЕНЬ № 2026-1030SE18MD
БЮЛЛЕТЕНЬ № 2026-1030SE47MD
БЮЛЛЕТЕНЬ № 2026-1030SE48MD
БЮЛЛЕТЕНЬ № 20261030SE16MD
БЮЛЛЕТЕНЬ № 2026-1030SE38MD
Патч обещают "по мере готовности", так что пока живем без миграции сокетов. Держитесь там, всего хорошего
Типичный
Please open Telegram to view this post
VIEW IN TELEGRAM
😁29🌚8🔥3🤣2🎄2
Please open Telegram to view this post
VIEW IN TELEGRAM
😢48💯9🎅3❤2
AlpineBSD - дистрибутив с ядром NetBSD и системным окружением в стиле Alpine Linux
Проект AlpineBSD развивает операционную систему, в которой поверх ядра NetBSD выполняется пользовательское окружение на основе наработок дистрибутива Alpine Linux. Помимо ядра из NetBSD в AlpineBSD задействована стандартная Си-библиотека libc и набор низкоуровневых утилит, таких как mount. Базовый набор утилит сформирован на основе инструментария BusyBox, а пакеты с приложениями по возможности используются из Alpine Linux. Для управления пакетами задействован пакетный менеджер apk, а в качестве системы инициализации используется s6, но в планах упоминается предоставление поддержки OpenRC в качестве альтернативы.
Проект придерживается жёсткой политики в отношении AI и пытается насколько это возможно не использовать ПО, содержащее код, сгенерированный через AI. В базовую систему и в основной репозиторий пакетов запрещено включение компонентов, созданных через AI. Все пакеты, включающие код, документацию, бинарные файлы и прочие ресурсы, созданные через AI, помечены специальной меткой и распространяются через отдельный репозиторий "tainted". В процессе разработки AlpineBSD также запрещено применение AI-инструментов.
В AlpineBSD пока отсутствует отдельный инсталлятор и установочные сборки. Для тестирования проекта предлагается загрузится с установочного носителя NetBSD, после чего скачать сборку пакетного менеджера apk, добавить репозитории, установить apk-пакеты и настроить систему инициализации s6.
Linux / Линукс🥸
Проект AlpineBSD развивает операционную систему, в которой поверх ядра NetBSD выполняется пользовательское окружение на основе наработок дистрибутива Alpine Linux. Помимо ядра из NetBSD в AlpineBSD задействована стандартная Си-библиотека libc и набор низкоуровневых утилит, таких как mount. Базовый набор утилит сформирован на основе инструментария BusyBox, а пакеты с приложениями по возможности используются из Alpine Linux. Для управления пакетами задействован пакетный менеджер apk, а в качестве системы инициализации используется s6, но в планах упоминается предоставление поддержки OpenRC в качестве альтернативы.
Проект придерживается жёсткой политики в отношении AI и пытается насколько это возможно не использовать ПО, содержащее код, сгенерированный через AI. В базовую систему и в основной репозиторий пакетов запрещено включение компонентов, созданных через AI. Все пакеты, включающие код, документацию, бинарные файлы и прочие ресурсы, созданные через AI, помечены специальной меткой и распространяются через отдельный репозиторий "tainted". В процессе разработки AlpineBSD также запрещено применение AI-инструментов.
В AlpineBSD пока отсутствует отдельный инсталлятор и установочные сборки. Для тестирования проекта предлагается загрузится с установочного носителя NetBSD, после чего скачать сборку пакетного менеджера apk, добавить репозитории, установить apk-пакеты и настроить систему инициализации s6.
Linux / Линукс
Please open Telegram to view this post
VIEW IN TELEGRAM
❤13🤔6👍2😁2
Please open Telegram to view this post
VIEW IN TELEGRAM
😁69🌚5
Детали возможной атаки на GNU Savannah, позволявшей скомпрометировать репозитории Bash и Coreutils
Компания Hacktron раскрыла подробности демонстрационной атаки на хостинг свободного кода GNU Savannah, который продолжает использоваться для разработки некоторых инструментов GNU, включая Bash и Coreutils. В результате проведённого эксперимента удалось выполнить код на сервере GNU Savannah, получить на нём права root, заменить SSH-ключи сопровождающего Bash, выявить возможность внесения изменений в основной git-репозиторий проекта Bash и получить доступ к серверу с резервными копиями.
О проведённой тестовой атаке и выявленных проблемах сразу было сообщено администраторам GNU Savannah. Проблемы были устранены в мае. Всего исследователями было выявлено 9 уязвимостей, из которых 2 признаны критическими, а 4 опасными. Первая критическая уязвимости позволяла обойти аутентификацию при обращении к настройкам, доступным только администратору сайта (siteadmin/triggercreation.php).
Вторая критическая уязвимость позволяла выполнить код на сервере через указание специально оформленного email. Проблема была вызвана отсутствием должного экранирования спецсимволов и могла быть эксплуатирована через указание при регистрации email вида "a`touch${IFS}/tmp/savane-rce-proof`@example.com" с последующим нажатием в web-интерфейсе кнопки проверки GPG-ключа (email подставлялся в строку запуска утилиты gpg, вызываемую через PHP-функцию proc_open()).
Добившись выполнения кода с правами web-сервера, исследователи нашли пароль доступа к СУБД в файле конфигурации и изменили в БД права доступа для своего зарегистрированного аккаунта с непривилегированного пользователя на администратора. Права администратора в web-интерфейсе Savannah давали возможность работы под любым пользователем без ввода пароля. Исследователи воспользовались этой возможностью, вошли от имени сопровождающего проект Bash и нашли возможность добавления своего SSH-ключа для подключения к git-репозиторию. В случае добавления ключа появлялась возможность отправки коммитов в Bash от имени сопровождающего.
Права root на сервере были получены через эксплуатацию до этого уже известной уязвимости в ядре Linux, которое не было обновлено на сервере (был установлен дистрибутив Trisquel GNU/Linux 11 на базе Ubuntu 22.04 с ядром linux-libre 5.15). Для атаки использовалась уязвимость в OverlayFS (CVE-2023-2640). Примечательно, что исправление уязвимости было доступно с 2023 года, но компания Canonical оперативно устранила проблему только в ядрах 5.19 и 6.2, а для ядра 5.15 выпустила патч только 7 мая 2026 года. Получив права root исследователи обнаружили в системе SSH-ключ у пользователя "gnubackup", позволяющий без пароля подключиться к хосту с резервными копиями.
Linux / Линукс🥸
Компания Hacktron раскрыла подробности демонстрационной атаки на хостинг свободного кода GNU Savannah, который продолжает использоваться для разработки некоторых инструментов GNU, включая Bash и Coreutils. В результате проведённого эксперимента удалось выполнить код на сервере GNU Savannah, получить на нём права root, заменить SSH-ключи сопровождающего Bash, выявить возможность внесения изменений в основной git-репозиторий проекта Bash и получить доступ к серверу с резервными копиями.
О проведённой тестовой атаке и выявленных проблемах сразу было сообщено администраторам GNU Savannah. Проблемы были устранены в мае. Всего исследователями было выявлено 9 уязвимостей, из которых 2 признаны критическими, а 4 опасными. Первая критическая уязвимости позволяла обойти аутентификацию при обращении к настройкам, доступным только администратору сайта (siteadmin/triggercreation.php).
Вторая критическая уязвимость позволяла выполнить код на сервере через указание специально оформленного email. Проблема была вызвана отсутствием должного экранирования спецсимволов и могла быть эксплуатирована через указание при регистрации email вида "a`touch${IFS}/tmp/savane-rce-proof`@example.com" с последующим нажатием в web-интерфейсе кнопки проверки GPG-ключа (email подставлялся в строку запуска утилиты gpg, вызываемую через PHP-функцию proc_open()).
Добившись выполнения кода с правами web-сервера, исследователи нашли пароль доступа к СУБД в файле конфигурации и изменили в БД права доступа для своего зарегистрированного аккаунта с непривилегированного пользователя на администратора. Права администратора в web-интерфейсе Savannah давали возможность работы под любым пользователем без ввода пароля. Исследователи воспользовались этой возможностью, вошли от имени сопровождающего проект Bash и нашли возможность добавления своего SSH-ключа для подключения к git-репозиторию. В случае добавления ключа появлялась возможность отправки коммитов в Bash от имени сопровождающего.
Права root на сервере были получены через эксплуатацию до этого уже известной уязвимости в ядре Linux, которое не было обновлено на сервере (был установлен дистрибутив Trisquel GNU/Linux 11 на базе Ubuntu 22.04 с ядром linux-libre 5.15). Для атаки использовалась уязвимость в OverlayFS (CVE-2023-2640). Примечательно, что исправление уязвимости было доступно с 2023 года, но компания Canonical оперативно устранила проблему только в ядрах 5.19 и 6.2, а для ядра 5.15 выпустила патч только 7 мая 2026 года. Получив права root исследователи обнаружили в системе SSH-ключ у пользователя "gnubackup", позволяющий без пароля подключиться к хосту с резервными копиями.
Linux / Линукс
Please open Telegram to view this post
VIEW IN TELEGRAM
Hacktron AI
Securing Internet-Critical Software: How We Could Have Backdoored Bash
A shell injection hidden in an email address gave us code execution on GNU Savannah, then root, then the ability to push to the upstream Bash repository. We reported it, kept auditing, and helped the FSF fix 26 vulnerabilities in the forge that hosts GNU.
👍8🔥3😢3❤2
Проект GNOME внедрил новый процесс принятия решений на основе RFC
Разработчики GNOME утвердили новый процесс принятия решений, основанный публикации предложений в форме RFC (Request for Comments) и их последующего совместного утверждения. RFC-модель вводит жёсткий регламент для повышения прозрачности, структурирования процесса и перехода к коллективной ответственности за решение вместо личной. Модель на основе RFC будут применять для выхода из тупиковых ситуаций, в которых не удаётся добиться консенсуса, для утверждения архитектурных изменений и крупных переработок интерфейса, а также для утверждения глобальных изменений в проекте, затрагивающих методы работы участников или код разных приложений и подсистем.
Этапы продвижения RFC:
Linux / Линукс🥸
Разработчики GNOME утвердили новый процесс принятия решений, основанный публикации предложений в форме RFC (Request for Comments) и их последующего совместного утверждения. RFC-модель вводит жёсткий регламент для повышения прозрачности, структурирования процесса и перехода к коллективной ответственности за решение вместо личной. Модель на основе RFC будут применять для выхода из тупиковых ситуаций, в которых не удаётся добиться консенсуса, для утверждения архитектурных изменений и крупных переработок интерфейса, а также для утверждения глобальных изменений в проекте, затрагивающих методы работы участников или код разных приложений и подсистем.
Этапы продвижения RFC:
❤️ Отправка в репозиторий GNOME/rfcs файла RFC-XXXX-название.md со структурировано оформленным предложением и ссылкой на обсуждение.❤️ Обсуждение предложения на платформе Discourse с попутной доработкой и внесением правок в RFC.❤️ Публикация участниками возражений с пометкой "**Concern**", описывающих возможные проблемы или предлагающих иной путь решения. В случае поддержки возражения редактором или одним из заинтересованных участников, оно переводится в разряд обязательных для рассмотрения.❤️ Рассмотрение высказанных возражений, выработка мер по их урегулированию и внесение в RFC изменений.❤️ После завершения обсуждения и рассмотрения возражений объявляется 14-дневный финальный период комментариев (FCP, Final Comment Period), во время которого можно заявить только новые возражения. Если новое возражение принято, то обсуждение перезапускается, а период финального приёма возражений сдвигается.❤️ После окончания финального периода комментариев и разрешения всех возражений, RFC либо принимается, либо отклоняется.
Linux / Линукс
Please open Telegram to view this post
VIEW IN TELEGRAM
Sophie's Blog
GNOME Fellowship October 2026
The GNOME Foundation is supporting contributors with its fellowship program. You can help expand the fellowship program with a donation. After the release of GNOME 51 in the previous month, this...
👍14🤔2❤1
В конфигурационных файлах curl случайно реализована полнота по Тьюрингу
Выявлена возможность создания любых вычислимых функций при помощи конструкций в файлах конфигурации утилиты Curl. Данная особенность проявляется только в версиях Сurl с 8.12-8.16 и вызвана непреднамеренной реализацией полноты по Тьюрингу, позволяющей создавать машины Тьюринга, используя возможность извлекать байтовые диапазоны из значений переменных и неограниченную глубину вложенности при подключении внешних конфигурационных файлов.
В качестве примера при помощи Curl организована симуляция работы двухсчетчиковой регистровой машины (машины Минского) для сложения чисел и реализации программы "99 бутылок пива", используемой при обучении работы с циклами. Для запуска программы, запрограммированной через файлы конфигурации curl, достаточно распаковать архив и выполнить команду "curl -q -s -K 99_bottles/main.conf".
Регистровая машина симулируется через представление значения счетчика в виде строки из "n" символов "x". Операции инкремента и декремента реализованы через конкатенацию и усечение строк (синтаксис "[0-0]" для оставление первого байта и "[1-]" для оставления всего содержимого кроме первого байта), а переходы между состояниями управляются директивой "expand-config", которая динамически подгружает следующий файл конфигурации, используя его имя в качестве метки перехода. Операция INC(R) в регистровой машине реализуется как 'expand-variable = "r={{r}}x"' в файле конфигурации Curl, DEC(R) - как 'expand-variable = "r[1-]={{r}}"', а JMP(S) - как 'expand-config = "S.conf"'. Например, код для вычисления 2 + 3 представлен на картинке.
На практике реализуемые через файлы конфигурации вычислительные возможности ограничены размером стека, так как каждый шаг выполнения программы требует загрузки нового вложенного файла конфигурации. При стеке в 8 МБ переполнение возникает примерно после 922 шагов. На возможности также влияет ограничение на размер раскрываемых переменных (параметр MAX_EXPAND_CONTENT выставлен в 10 МБ) и большое потребление памяти из-за сохранения всех старых версий переменных.
Несмотря на то, что выявленная возможность не является уязвимостью в версиях начиная с curl 8.17 рассматриваемый трюк уже не сработает из-за ограничения глубины вложенности файлов конфигурации 5 уровнями для защиты от бесконечной рекурсии.
Linux / Линукс🥸
Выявлена возможность создания любых вычислимых функций при помощи конструкций в файлах конфигурации утилиты Curl. Данная особенность проявляется только в версиях Сurl с 8.12-8.16 и вызвана непреднамеренной реализацией полноты по Тьюрингу, позволяющей создавать машины Тьюринга, используя возможность извлекать байтовые диапазоны из значений переменных и неограниченную глубину вложенности при подключении внешних конфигурационных файлов.
В качестве примера при помощи Curl организована симуляция работы двухсчетчиковой регистровой машины (машины Минского) для сложения чисел и реализации программы "99 бутылок пива", используемой при обучении работы с циклами. Для запуска программы, запрограммированной через файлы конфигурации curl, достаточно распаковать архив и выполнить команду "curl -q -s -K 99_bottles/main.conf".
Регистровая машина симулируется через представление значения счетчика в виде строки из "n" символов "x". Операции инкремента и декремента реализованы через конкатенацию и усечение строк (синтаксис "[0-0]" для оставление первого байта и "[1-]" для оставления всего содержимого кроме первого байта), а переходы между состояниями управляются директивой "expand-config", которая динамически подгружает следующий файл конфигурации, используя его имя в качестве метки перехода. Операция INC(R) в регистровой машине реализуется как 'expand-variable = "r={{r}}x"' в файле конфигурации Curl, DEC(R) - как 'expand-variable = "r[1-]={{r}}"', а JMP(S) - как 'expand-config = "S.conf"'. Например, код для вычисления 2 + 3 представлен на картинке.
На практике реализуемые через файлы конфигурации вычислительные возможности ограничены размером стека, так как каждый шаг выполнения программы требует загрузки нового вложенного файла конфигурации. При стеке в 8 МБ переполнение возникает примерно после 922 шагов. На возможности также влияет ограничение на размер раскрываемых переменных (параметр MAX_EXPAND_CONTENT выставлен в 10 МБ) и большое потребление памяти из-за сохранения всех старых версий переменных.
Несмотря на то, что выявленная возможность не является уязвимостью в версиях начиная с curl 8.17 рассматриваемый трюк уже не сработает из-за ограничения глубины вложенности файлов конфигурации 5 уровнями для защиты от бесконечной рекурсии.
Linux / Линукс
Please open Telegram to view this post
VIEW IN TELEGRAM
🤯37🤣8😁3👍2
Please open Telegram to view this post
VIEW IN TELEGRAM
😁38😢3❤2
Выпуск десктоп-окружения Trinity 14.1.7, продолжающего развитие KDE 3.5
После полугода разработки опубликован релиз десктоп-окружения Trinity R14.1.7, продолжающего развитие кодовой базы KDE 3.5.x и Qt 3. Бинарные пакеты в ближайшее время будут подготовлены для Ubuntu, Debian, RHEL/CentOS, Fedora, Arch, openSUSE и других дистрибутивов.
Основные изменения:
Linux / Линукс🥸
После полугода разработки опубликован релиз десктоп-окружения Trinity R14.1.7, продолжающего развитие кодовой базы KDE 3.5.x и Qt 3. Бинарные пакеты в ближайшее время будут подготовлены для Ubuntu, Debian, RHEL/CentOS, Fedora, Arch, openSUSE и других дистрибутивов.
Основные изменения:
— В эмулятор терминала konsole добавлена поддержка режима защищённой вставки из буфера обмена, при котором после вставки многострочное содержимое не запускается построчно автоматически, а выделяется цветом и ожидает нажатия пользователем клавиши Enter.
В konsole добавлена поддержка разделённых двоеточием субпараметров в управляющих последовательностях CSI (Control Sequence Introducer) и DCS (Device Control String), а также поддержка escape-последовательности SGR 1006 для отслеживания кликов мышью (решило проблемы с кликами в htop) и escape-последовательностей SGR 58/59 для изменения цвета подчёркивания текста. В меню добавлена кнопка "Select All" для выделения всей истории операций или всего содержимого экрана.
— В текстовом редакторе kate унифицирована логика установки позиции курсора в документе при использовании метода setCursor в DCOP (Desktop Communication Protocol).
— В календаре-планировщике korganizer включено по умолчанию встраивание в календарь приложений к событиям.
— В файловом менеджере konqueror при просмотре файлов в форме сетки пиктограмм реализован расширенный режим переименования.
— В интерфейс просмотра таблицы символов kcharselect добавлена панель с категориями символов.
— В оконном менеджере twin реализована настройка noBorder для скрытия рамок окна. В заголовки окон добавлены кнопки для закрепления окна поверх или снизу других окон.
— В панель kicker добавлена возможность выбора цвета для текста на кнопках в меню.
— В апплете со списком окон запущенных приложений (taskbar), размещённом на панели kicker, реализована поддержка прокрутки колесом мыши и добавлены кнопки "Raise All" и "Lower All" для групп окон.
— В размещённом в панели задач меню запуска приложений kickoff реализована навигация по результатам поиска при помощи клавиатуры.
— В tdebase и rusader добавлена поддержка протокола lzip.
— В tdeprint обеспечен поиск местоположения обработчика cupsdoprint и задействован IPP-атрибут printer-device-id при отсутствии данных о модели принтера.
— Добавлена поддержка Python 3.15 и OpenSSL 4.
— Прекращена поддержка Ubuntu 24.10, Fedora 42 и openSUSE 15.6. Добавлена поддержка Ubuntu 26.10 и Fedora 44.
И другие изменения.
Linux / Линукс
Please open Telegram to view this post
VIEW IN TELEGRAM
👍15🔥2