Архив метки: Debian

Сентябрьский Linux Patch Wednesday

Сентябрьский Linux Patch Wednesday

Сентябрьский Linux Patch Wednesday. Всего 2653 уязвимости. Для сравнения, в августе было 3060. Снижение на 13%. В Linux Kernel на этот раз 812 уязвимостей, в Chromium - 644. Для шести уязвимостей есть признаки эксплуатации в реальных атаках:

🔻 RCE - Gitea (CVE-2026-60004). Gitea - популярная платформа для размещения Git-репозиториев на собственных серверах. Злоумышленник с обычными правами записи в репозиторий может выполнять произвольные shell-команды от имени пользователя операционной системы Gitea. При включённой по умолчанию открытой регистрации даже неаутентифицированный злоумышленник может получить необходимые права, зарегистрировав аккаунт и создав репозиторий. Уязвимость была добавлена в CISA KEV 25 августа. Зафиксирована кампания по эксплуатации уязвимости для установки криптомайнера XMRig. Публичные эксплоиты доступны на GitHub с 29 июля. Уязвимость была исправлена в пакетах ALT Linux 27 августа.

🔻 AuthBypass - Gitea (CVE-2026-20896). Уязвимость позволяет удалённому злоумышленнику обойти аутентификацию и войти в Gitea под другим пользователем, включая администратора. Уязвимость была добавлена в VulnCheck KEV 6 июля. Публичные эксплоиты доступны на GitHub с 2 июля. Уязвимость была исправлена в пакетах ALT Linux 27 августа.

🔻 AuthBypass - Keycloak (CVE-2026-18963). Keycloak - популярная платформа для управления идентификацией и доступом (IAM/SSO). Уязвимость в механизме сброса пароля позволяет неаутентифицированному удалённому злоумышленнику сбросить пароль любого пользователя и захватить его учётную запись без подтверждения по email. Уязвимость была добавлена в VulnCheck KEV 25 августа. Публичные эксплоиты доступны на GitHub с 20 августа. Уязвимость была исправлена в пакетах ALT Linux 20 августа.

🔻 RCE - Chromium (CVE-2026-85046, CVE-2026-87491). Chromium - веб-браузерный проект, лежащий в основе Google Chrome и других браузеров. Уязвимости в JavaScript-движке V8 позволяют удалённому злоумышленнику выполнить произвольный код в песочнице браузера, если пользователь откроет вредоносную HTML-страницу. Обе уязвимости эксплуатируются в реальных атаках и были добавлены в CISA KEV 4 сентября и 9 сентября. Публичные эксплоиты доступны на GitHub с 4 сентября. Уязвимости исправлены в пакетах ALT Linux и Debian с 5 сентября.

🔻 RCE - SPIP (CVE-2026-77806). SPIP - CMS с открытым исходным кодом для создания и совместного редактирования сайтов. Критическая уязвимость позволяет неаутентифицированному удалённому злоумышленнику выполнить произвольный код на сервере. Уязвимость была добавлена в VulnCheck KEV 21 августа. Существует Metasploit-модуль для эксплуатации уязвимости. Уязвимость исправлена в пакетах Debian с 21 августа.

Ещё для 205 уязвимостей пока нет признаков эксплуатации в реальных атаках, но есть публичные эксплоиты. Из них можно выделить:

🔸 AuthBypass - FreeIPA (CVE-2026-76578). FreeIPA - решение для централизованного управления идентификацией и доступом в Linux-инфраструктуре (LDAP/Kerberos). Удалённый неаутентифицированный злоумышленник может получить легитимное членство в административной группе FreeIPA и выполнять административные операции с каталогом, а в развёртываниях с включённой поддержкой SID - также с другими сервисами IdM. Публичный эксплойт доступен на GitHub с 9 сентября. Уязвимость исправлена в пакетах ALT Linux с 7 сентября.

🔸 RCE - PHP/Adminer (CVE-2026-56705). Adminer - популярный веб-инструмент для администрирования баз данных, часто разворачиваемый вместе с PHP-приложениями. Уязвимость позволяет неаутентифицированному удалённому злоумышленнику записать PHP-код в корень веб-сервера и выполнить его, то есть добиться RCE. Публичный эксплойт доступен на GitHub с 25 августа. Уязвимость исправлена в пакетах Debian с 16 сентября.

🗒 Полный отчёт Vulristics

Августовский Linux Patch Wednesday

Августовский Linux Patch Wednesday

Августовский Linux Patch Wednesday. Всего 3060 уязвимостей. Для сравнения, в июле было 2017. Прирост +52% и снова новый рекорд. В Linux Kernel на этот раз 1354 уязвимости, в Chromium - 447. Для 3 уязвимостей есть признаки эксплуатации в реальных атаках:

🔻 RCE - Jenkins (CVE-2026-53435). Jenkins - сервер автоматизации разработки, используемый для сборки, тестирования и развёртывания программного обеспечения. Уязвимость позволяет удалённому аутентифицированному злоумышленнику использовать Script Console для выполнения произвольного кода и чтения файлов с контроллера Jenkins. Уязвимость была добавлена в VulnCheck KEV 15 июня и исправлена в RedOS 12 августа.

🔻 CodeInj - WordPress (CVE-2026-60137). WordPress - популярная CMS с открытым исходным кодом для создания сайтов и блогов. Уязвимость приводит к blind SQL-инъекции в ядре WordPress, которая позволяет удалённому неаутентифицированному злоумышленнику читать учётные записи и хэши паролей из базы WordPress. Далее возможно выполнение кода через загрузку вредоносного плагина. Существует множество публичных эксплоитов. Уязвимость добавлена в каталог CISA KEV 21 июля. Исправление в пакете wordpress репозитория Debian вышло 23 июля.

🔻 RCE - SPIP (CVE-2026-77647). SPIP - CMS с открытым исходным кодом для создания и совместного редактирования сайтов. Уязвимость позволяет неаутентифицированному удалённому атакующему добиться выполнения произвольного PHP-кода. Уязвимость была добавлена в VulnCheck KEV 20 августа. Исправление в пакете spip репозитория Debian вышло 18 августа.

Формально в отчёте есть ещё одна активно эксплуатируемая уязвимость RCE - WinRAR (CVE-2025-8088). Уязвимость была исправлена в пакете clamav репозитория Alt Linux. Но эксплуатация возможна только в Windows, так что out of scope.

Ещё для 127 уязвимостей пока нет признаков эксплуатации в реальных атаках, но есть публичные эксплоиты или признаки их существования. Из них можно выделить:

🔸 RCE - Action Pack "KindaRails2Shell" (CVE-2026-66066). Action Pack - часть Ruby on Rails, отвечающая за обработку веб-запросов, маршрутизацию и формирование ответов. Злоумышленник может загрузить в уязвимое приложение специально сформированное изображение и добиться удалённого выполнения кода.

🔸 RCE - WordPress "XSS2Shell" (CVE-2026-64638). Цепочка атак позволяет эскалировать XSS без авторизации на странице входа до выполнения произвольного PHP-кода.

🔸 CodeInj - PHP (CVE-2026-17543). Некорректное экранирование обратных слэшей в параметрах, передаваемых злоумышленником, позволяет осуществить тривиальную SQL-инъекцию в PHP.

🔸 EoP - Linux Kernel "Zapscape" (CVE-2026-64561). Уязвимость типа KVM escape позволяет злоумышленнику выйти за пределы виртуальной машины в среде KVM/x86 и выполнять команды на хосте с привилегиями root.

🔸 EoP - Linux Kernel "OVSwrap" (CVE-2026-64531), Linux Kernel "SCTPhantom" (CVE-2026-64564), Linux Kernel "Ubuntu PPPoL2TP" (CVE-2026-68398). Уязвимости позволяют локальному злоумышленнику повысить привилегии до root-а.

🔸 AuthBypass - Traefik (CVE-2026-48020). Traefik - это HTTP reverse proxy и балансировщик нагрузки. Уязвимость высокой степени опасности в middleware StripPrefix позволяет неаутентифицированному злоумышленнику обойти аутентификацию и авторизацию на уровне маршрута (route-level).

🗒 Полный отчёт Vulristics

Новая EoP уязвимость "CIFSwitch" (CVE-2026-46243) в Linux позволяет получить права root в нескольких дистрибутивах

Новая EoP уязвимость CIFSwitch (CVE-2026-46243) в Linux позволяет получить права root в нескольких дистрибутивах

Новая EoP уязвимость "CIFSwitch" (CVE-2026-46243) в Linux позволяет получить права root в нескольких дистрибутивах. Подвержены дистрибутивы Linux с уязвимыми комбинациями ядра CIFS (реализации протокола CIFS/SMB непосредственно в ядре Linux) и пакета cifs-utils (версии 6.14 и выше, хотя некоторые более старые версии также подвержены). CIFS (Common Internet File System) - это сетевой протокол, который позволяет получать доступ к файлам, папкам и устройствам в локальной сети. В Linux он используется для монтирования, чтения и записи данных с удалённых систем.

Уязвимость обнаружил Асим Вилади Оглу Манизада (Asim Viladi Oglu Manizada), инженер по безопасности SpaceX. Он опубликовал подробный технический отчёт, объясняющий причину проблемы, а также PoC эксплоита. Присвоение CVE-идентификатора всё ещё ожидается. Манизада утверждает, что CIFSwitch существует уже 19 лет (с 2007 года). Он добавляет, что уязвимость "не универсальна", и её эксплуатация зависит от ряда факторов, включая уязвимую версию ядра. Дополнительные требования включают наличие уязвимой версии cifs-utils, доступность user namespaces, а также политики SELinux/AppArmor, которые не блокируют атаку.

Некоторые дистрибутивы уязвимы в конфигурации по умолчанию:

🔻 Linux Mint 21.3 / 22.3
🔻 CentOS Stream 9
🔻 Rocky Linux 9
🔻 AlmaLinux 9
🔻 Kali Linux 2021.4–2026.1
🔻 SLES 15 SP7

Исследователь отметил, что различные версии Ubuntu, Debian, Pop!_OS, openSUSE, Oracle Linux и Amazon Linux также могут быть уязвимы, если установлен пакет cifs-utils.

Однако есть дистрибутивы, где настройки SELinux/AppArmor по умолчанию предотвращают эксплуатацию CIFSwitch:

🔹 Ubuntu 26.04
🔹 Fedora 40–44
🔹 CentOS Stream 10
🔹 Rocky Linux 10
🔹 SLES 16
🔹 AlmaLinux 10
🔹 openSUSE Leap 16

Также Amazon Linux 2 и Kali Linux 2019.4 и 2020.4 не подвержены атаке, так как их версии cifs-utils не содержат функциональности переключения namespace.

CIFSwitch был исправлен патчем ядра, который добавляет проверку происхождения запросов cifs.spnego (upstream commit 3da1fdf), однако точные версии ядра с этим исправлением зависят от дистрибутива. Исследователь рекомендует пользователям отключить или занести в чёрный список модуль CIFS, если он не используется, удалить пакет cifs-utils при ненадобности, а также отключить непривилегированные user namespaces.

CIFSwitch - последняя из недавно раскрытых уязвимостей повышения привилегий в Linux. К этой же серии относятся Copy Fail, Dirty Frag, Fragnesia, DirtyDecrypt и PinTheft.

Майский "В тренде VM": громкие уязвимости в Linux, ActiveMQ, SharePoint и Adobe Acrobat Reader

Майский В тренде VM: громкие уязвимости в Linux, ActiveMQ, SharePoint и Adobe Acrobat Reader

Майский "В тренде VM": громкие уязвимости в Linux, ActiveMQ, SharePoint и Adobe Acrobat Reader. Представляю традиционную ежемесячную подборку трендовых уязвимостей по версии Positive Technologies. Если в прошлом апрельском выпуске была всего одна уязвимость, то в этот раз уже четыре и весьма разноплановых.

🗞 Пост на Хабре
🗒 Дайджест на сайте PT

🔻 EoP - Linux Kernel "Copy Fail" (CVE-2026-31431). Уязвимость позволяет получить права root на Linux-хосте.

🔻 RCE - Apache ActiveMQ (CVE-2026-34197). Уязвимость в решении, широко используемом в корпоративных системах и интеграционных платформах.

🔻 Spoofing - Microsoft SharePoint Server (CVE-2026-32201). Уязвимость в решении Microsoft, широко используемом в корпоративных системах для организации совместной работы, управления документами и построения внутренних порталов.

🔻 RCE - Adobe Reader (CVE-2026-34621). Уязвимость в распространенном решении для просмотра PDF-документов; эксплуатируется в фишинговых атаках.

🟥 Полный список трендовых уязвимостей смотрите на портале

Про уязвимость Elevation of Privilege - Linux Kernel "Copy Fail" (CVE-2026-31431)

Про уязвимость Elevation of Privilege - Linux Kernel Copy Fail (CVE-2026-31431)

Про уязвимость Elevation of Privilege - Linux Kernel "Copy Fail" (CVE-2026-31431). Уязвимость локального повышения привилегий в компоненте ядра Linux AF_ALG, которая вызвана ошибкой работы с памятью, позволяет непривилегированному пользователю поднять привилегии до root-а. Проэксплуатировав эту уязвимость, злоумышленник может полностью захватить систему: читать и изменять любые файлы, включая пароли и ключи, подменять системные бинарные файлы, отключать защитные механизмы и средства мониторинга, незаметно устанавливать бэкдоры и закрепляться в системе, скрывать следы своей активности, использовать хост как плацдарм для атак на другие сетевые активы.

⚙️🛠 1 апреля патчи, устраняющие уязвимость, были внесены в основную ветку Linux Kernel. 22 апреля был заведён CVE идентификатор уязвимости. 29 апреля эксперты компании Theori опубликовали разбор уязвимости и публичный эксплойт. Эксплуатабельность уязвимости была подтверждена на актуальных версиях популярных дистрибутивов Linux: Ubuntu, Amazon Linux, RHEL, SUSE.

👾 1 мая уязвимость была добавлена в CISA KEV, что свидетельствует об эксплуатации уязвимости в реальных атаках.

Что отличает эту уязвимость от подобных EOP/LPE в Linux?

В Linux Kernel уже были громкие уязвимости повышения привилегий. Dirty Cow требовала выигрыша в race condition. Часто приходилось делать несколько попыток, и иногда это приводило к падению системы. Dirty Pipe была привязана к конкретным версиям и требовала точных манипуляций с pipe buffer.

Но, в отличие от Dirty Cow и Dirty Pipe, как сообщают исследователи, Copy Fail - это прямолинейная логическая ошибка. Она срабатывает без гонок, повторных попыток или нестабильных временных окон, приводящих к сбоям.

🧬 Портируемость. Один и тот же скрипт эксплуатации работает на всех протестированных дистрибутивах и архитектурах, включая Ubuntu, Amazon Linux, Red Hat Enterprise Linux и SUSE Linux Enterprise. Никаких оффсетов под конкретный дистрибутив. Никакой перекомпиляции. В эксплоите нет проверок версии.

✧ Минимализм. Весь эксплойт - это короткий скрипт на Python, использующий только стандартные модули библиотеки os, socket, zlib. Требуется Python 3.10+ для os.splice. Никаких скомпилированных нагрузок, никакой установки зависимостей.

🥷 Скрытность. Операция записи выполняется, минуя обычный путь записи VFS ("ordinary VFS write path"). Повреждённая страница никогда не помечается ядром как dirty в механизме writeback. Стандартные инструменты контроля целостности файлов, сравнивающие контрольные суммы на диске, не заметят эксплуатацию, потому что файл на диске не изменяется. Повреждается только кэш страниц в памяти.

📦 Межконтейнерное воздействие. Кэш страниц разделяется всеми процессами в системе, в том числе между контейнерами. Copy Fail - это не просто локальное повышение привилегий. Это примитив выхода из контейнера и вектор компрометации узла Kubernetes.

Как устранить уязвимость?

Для устранения уязвимости пользователям необходимо обновиться до версий ядра Linux 6.18.22, 6.19.12 и 7.0. Ядро можно собрать самостоятельно или дождаться, когда обновления пакетов ядра выпустит вендор вашего Linux-дистрибутива. По состоянию на 4 мая вышли обновления для Ubuntu, Debian, RHEL, Fedora, SUSE, CloudLinux, Arch Linux, ROSA Linux.

В качестве workaround-а исследователи предлагают заблокировать создание сокетов AF_ALG:

echo "install algif_aead /bin/false" > /etc/modprobe.d/disable-algif-aead.conf
rmmod algif_aead 2>/dev/null

5 моментов про отечественные Linux-дистрибутивы

5 моментов про отечественные Linux-дистрибутивы

5 моментов про отечественные Linux-дистрибутивы. Каждый раз, когда появляется новость про российский Linux-дистрибутив в комментарии приходят хейтеры с криками "Bolgenos!". Типа это ненастоящий дистрибутив. Вот есть какие-то настоящие, а этот нет. Имею сказать следующее:

1. Даже тот самый мемный BolgenOS Дениса Попова по прошествии лет выглядит как вещь, которая вполне имела право на существование в качестве учебного проекта несколько странноватого, но вполне безобидного 16летнего парня. 🤷‍♂️ Ну сделал он сборку Ubuntu с нескучными обоями и переименованными приложениями (где-то вроде даже копирайты затер 😱). Ну сняли про него дурацкий репортаж на региональном ТВ. Это был повод для травли, вот серьёзно?

2. Если какие-то люди собрали очередной Linux-дистрибутив, допустим, на основе Debian, используют его сами и собираются его кому-то продавать, то они в своём праве. Даже если они (о ужас!) не собирают сами пакеты, а продают ванильный Debian с налепленным своим логотипом. Вот даже тогда. Насколько мне известно, ничто сейчас не запрещает это делать. Ни российское законодательство, ни требования регуляторов, ни даже опенсурсные лицензии.

3. Если с этим Linux-дистрибутивом можно комфортно и относительно безопасно (в смысле оперативного исправления уязвимостей, отсутствия явных закладок, обновления с российских серверов) работать, то в общем-то и норм. Если вдруг почему-то нельзя, то это хорошая тема для предметного обсуждения. Ну ещё неплохо бы бюллетени безопасности в формате OVAL, чтобы уязвимости было удобно детектировать. 😇

4. Если маркетинг компании, которая выпустила Linux-дистрибутив, позволяет себе в официальной коммуникации писать, что это какая-то уникальная отечественная ОС, разработанная с нуля, то это, имхо, скверно и достойно порицания. Но на сам дистрибутив это никак не влияет.

5. Я не верю в какие-то прям "хорошие Linux-дистрибутивы". Это ВСЕГДА переупакованный ЧУЖОЙ код от апстримов. В этом отношении прилетела ли ко мне программная закладка непосредственно от разработчика (например, XZ Utils или самого Торвальдса) или от Debian-ов мне, как потребителю, как-то пофигу. В возможности всерьёз контролировать апстрим я не верю. Если вы так здорово закладки можете выявлять, почему вы тогда Linux-овые уязвимости не выявляете? Сотни Linux-овых уязвимостей исправляются каждый месяц, что же вы их не выявляете сами раньше разработчиков? 😏 Использование Linux и опенсурсного софта это всегда некоторый компромисс функциональных возможностей и безопасности. Лучше бы, конечно, своё ядро. Лучше бы, конечно, чтобы и системные компоненты свои. И прикладной софт свой. А раз этого всего нет и не ожидается, то и чего щёки надувать, что вы принципиально лучше тех самых "болгеносов"? 😏

Хакатон MaxPatrol VM, часть 1: Linux стенд и Ansible

Хакатон MaxPatrol VM, часть 1: Linux стенд и Ansible

Хакатон MaxPatrol VM, часть 1: Linux стенд и Ansible. Как и обещал, делюсь впечатлениями от хакатона. Первым заданием у меня была автоматизации установки софта из TAR-архива на Debian 12 с помощью Ansible. Раньше я с Ansible толком не работал, поэтому появился повод немного разобраться.

Ansible - система управления конфигурациями, написанная на Python. Главное отличие Ansible от аналогов - не нужна установка агента или клиента на управляемые хосты. Обычно используется для управления Linux-хостами, но Windows также поддерживается. Взаимодействие происходит по модели push: сам Ansible запускается на "центральном" управляющем хосте, ходит на управляемые хосты и что-то делает. На управляемом хосте должен быть установлен Python версии 2.4 и выше, соединение выполняется по SSH или WinRM.

Управляющим хостом для Ansible будет мой десктоп на Ubuntu 23.10, а управляемым хостом будет виртуалка в VirtualBox.

Я завёл виртуалку в VirtualBox с Debian 12, добавил интерфейс Host-only adapter, чтобы можно было подключаться к ней по SSH. Я проверил, что подключение работает с помощью:

$ ssh vmuser@192.168.56.104

Для работы Ansible должна быть настроена аутентификация по ключам. Я сгенерировал ключ с помощью:

$ ssh-keygen -t ed25519 -C "alexander@avleonov.com"

Затем я закинул его на target-host:

$ ssh-copy-id vmuser@192.168.56.104

После этого команда уже не требовала пароль.

На десктоп с Ubuntu 23.10 я поставил Ansible при помощи утилиты pipx

$ sudo apt-get install pipx
$ pipx install --include-deps ansible

Обновлять можно с помощью:

$ pipx upgrade --include-injected ansible

Проверить версию ansible можно с помощью:

$ ansible --version
ansible [core 2.16.7]
...

Далее описываю управляемый хост (виртуалку) в yaml файле:

$ cat hosts.yaml 
myhosts:
hosts:
debian12:
ansible_host: 192.168.56.104

Валидирую файл hosts.yaml:

$ ansible-inventory -i hosts.yaml --list
{
"_meta": {
"hostvars": {
"debian12": {
"ansible_host": "192.168.56.104"
}
}
},
"all": {
"children": [
"ungrouped",
"myhosts"
]
},
"myhosts": {
"hosts": [
"debian12"
]
}
}

Проверяю соединение:

$ ansible myhosts -m ping -i hosts.yaml -u vmuser
debian12 | SUCCESS => {
"ansible_facts": {
"discovered_interpreter_python": "/usr/bin/python3"
},
"changed": false,
"ping": "pong"
}

Всё работает, связь есть. Теперь можно попробовать выполнить какие-то команды на хосте с помощью Ansible. Делаю тестовый плейбук для вывода hostname и версии дистрибутива:

- name: Print Hostname and OS Version
hosts: all
tasks:
- name: Get Hostname
command: hostname
register: hostname_output

- name: Get OS Version
ansible.builtin.shell: lsb_release -a | grep "Description:" | awk -F"\t" '{print $2}'
register: os_version_output

- name: Display Outputs
debug:
msg: "Hostname is {{ hostname_output.stdout }} and OS Version is {{ os_version_output.stdout }}"

Запускаю его:

$ ansible-playbook -i hosts.yaml -u 'vmuser' playbook.yaml
...

TASK [Display Outputs] *********************************************************
ok: [debian12] => {
"msg": "Hostname is debian and OS Version is Debian GNU/Linux 12 (bookworm)"
}

Работает! В следующей части рассмотрим как описать в плейбуке установку софта из TAR-архива.