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

Про уязвимость 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

Небольшой оффтоп про то, как я кардинально упростил себе подготовку MAX-постов

Небольшой оффтоп про то, как я кардинально упростил себе подготовку MAX-постов

Небольшой оффтоп про то, как я кардинально упростил себе подготовку MAX-постов. Форматирование постов в MAX долгое время оставалось для меня весьма мучительной задачей. Судите сами: текстовую разметку (markdown) MAX пока не поддерживает, доступ к API для постинга пока есть только у юрлиц. Конечно, уже есть сервисы, предоставляющие услуги постинга (фактически обёртки над API), но они все какие-то мутные и просят денег буквально за каждый пост. Бесплатных ботов-конвертеров, аналогичных ТГ-шным пока нет. И чего с этим делать? Каждый раз форматировать пост ручками, используя редактор постов в приложении MAX? Ну, такое себе. Но решение, оказывается, всё время было рядом и было очень простым.

Всё началось с того, что я заметил: в веб-версии MAX форматированный текст можно копировать и вставлять без потери форматирования. 👀 А это значит, что веб-приложение MAX кладёт текст в буфер в форматированном виде. Что в свою очередь значит, что форматированный текст в таком же виде можно положить в буфер самостоятельно. 😉 Оказалось, что в Linux это можно сделать буквально вот так с помощью xclip:

cat post.html | xclip -selection clipboard -t text/html

Как-то специально заморачиваться с html не нужно. Если там используются простые теги (a, b, i, br) - всё работает. 🙂 Форматированный текст копируется в буфер и его достаточно вставить в веб-интерфейс MAX. 😇

Важно: это работает именно с веб-клиентом! Десктопный клиент хранит форматированный текст в буфере несколько иначе и там нужно больше танцев с бубном, чтобы достичь +- того же результата. Поэтому лучше работать именно с веб-клиентом.

А что если нам наоборот нужно копировать посты из MAX с сохранением форматирования? Это может быть полезно, если мы изначально пишем посты в MAX, а потом хотим выложить их куда-то ещё с сохранением форматирования. Всё аналогично. Копируем форматированный текст поста в веб-клиенте MAX и читаем буфер (в Linux) с помощью того же xclip:

xclip -selection clipboard -t text/html -o

Но есть проблема, что html-код там навороченный. Чтобы упростить его до простых тегов (a, b, i, br), я навайбкодил скриптик. В том же проекте доступны bash-обвязки, которыми я пользуюсь: HTML2MaxBuffer.sh, MaxBuffer2HTML.sh, show_all_buffers.sh.

Пользуйтесь и рекомендуйте друзьям, которым это может быть актуально.

Сегодня меня спросили: как скачать базу уязвимостей с сайта NVD?

Сегодня меня спросили: как скачать базу уязвимостей с сайта NVD?

Сегодня меня спросили: как скачать базу уязвимостей с сайта NVD? Если нужны данные из NIST NVD по всем уязвимостям, проще всего скачать архивированные фиды в формате JSON.

Запускаем скрипт:

import requests

BASE = "https://nvd.nist.gov/feeds/json/cve/2.0/"

for year in range(2002, 2027): # при необходимости расширяем диапазон
fname = f"nvdcve-2.0-{year}.json.zip"
url = BASE + fname
print("Качаю", fname)

with requests.get(url, stream=True, timeout=300) as r:
r.raise_for_status()
with open(fname, "wb") as f:
for chunk in r.iter_content(8192):
if chunk:
f.write(chunk)

Скрипт пишет:

Качаю nvdcve-2.0-2002.json.zip
...
Качаю nvdcve-2.0-2026.json.zip

И скачивает в текущую директорию zip-архивы с JSON-чиками, которые затем можно обработать по своему усмотрению. 😉

Palo Alto Networks подробно пишут про RCE-уязвимость в трёх open-source AI/ML-проектах на Python

Palo Alto Networks подробно пишут про RCE-уязвимость в трёх open-source AI/ML-проектах на Python

Palo Alto Networks подробно пишут про RCE-уязвимость в трёх open-source AI/ML-проектах на Python. Уязвимость вызвана использованием библиотеки Hydra (разрабатывается экстремистской компанией Meta) для загрузки конфигураций из метаданных модели. Злоумышленник может внедрять произвольный код в метаданные модели, который будет автоматически выполнен в момент загрузки модифицированной модели уязвимыми проектами:

🔻 NeMo - фреймворк на базе PyTorch, разработан NVIDIA. CVE-2025-23304 исправлена в версии 2.3.2.

🔻 Uni2TS - библиотека PyTorch, используемая в Morai от Salesforce - foundation‑модели для анализа временных рядов. CVE-2026-22584 исправлена 31 июля 2025 года.

🔻 FlexTok - фреймворк на Python, позволяющий AI/ML‑моделям обрабатывать изображения; разработан исследователями Apple и VILAB@EPFL. Уязвимость исправлена без CVE в июне 2025 года.

👾 Признаков эксплуатации вживую пока нет.

Игровое обучение основам криптографии и программирования "Разведчики"

Игровое обучение основам криптографии и программирования Разведчики

Игровое обучение основам криптографии и программирования "Разведчики". 🕵️‍♂️

Проводим отпуск во Владимире. Вчера ходили в местный музей науки и человека "Эврика". Среди прочего там был мастер-класс "Шпионские истории". Мастер-класс был так себе, но идея делать введение в защиту информации в контексте рассказа про разведчиков мне очень зашла. 🔥👍

Возможный план занятий:

1. Известные советские и российские разведчики-нелегалы. Романы Юлиана Семёнова про Исаева-Штирлица, Рихард Зорге, Рудольф Абель, Артур Адамс. Из современников - Андрей Безруков и Елена Вавилова. Важность защищённого канала связи.

2. Стеганография с невидимыми чернилами и трафаретами. Шифр Цезаря, шифр простой замены, гаммирование и одноразовый шифроблокнот.

3. Программирование на Python алгоритмов для шифрования, расшифрования и дешифрования.

4. Код Морзе и работа с телеграфным ключом. Автоматизация на Python.

5. Современные методы шифрования (GOST, AES, SSL) и стеганографии.

Новый трек про потенциальную апрельскую zero-click RCE уязвимость в Telegram

Новый трек про потенциальную апрельскую zero-click RCE уязвимость в Telegram. 🙂 Рифмованная переработка предыдущего поста.

На прошлой неделе разыгралась драма:
Якобы zero-click RCE в Windows клиенте Телеграма.
Злодей засылает картинку тебе, друже,
И запускает калькулятор или что похуже.
Или даже не конкретно тебе, не столь важен адресат,
Это может быть и какой-нибудь общий чат.
Главное, включенная автозагрузка изображений.
Неужели правда?! Есть несколько мнений.

Разрабы Телеграма отрицают фаталити.
Есть что показать? Шлите на bug bounty!
За 10к баксов. Верить ли видео? Решай сам.
Вполне может быть и какой-то скам.

Однако, как по мне, это видео реальное,
Хотя и ситуация не такая фатальная.
Это не zero-click, а запускает зловреда тушку
Беспечный клик жертвы на превьюшку.
Этот клик запускает файл .pyzw,
Если не знаешь что это, сейчас поясню.
Исполняемый zip-архив с программой на Питон.
Запускать такое по клику в мессенджере - страшный сон.
И Телеграм такое должен бы блокировать вроде
Если бы не досадная опечатка в коде…

Но почему это файл показывается как картинка?
Похоже наложилась в детeкте по Mime-type ошибка.

Короче, по в вопросу zero-click RCE в Telegram ставим пока многоточие…
А ты подпишись на канал avleonovrus "Управление Уязвимостями и прочее". 😉

Начитался про RCE уязвимость Telegram прошлой недели

Начитался про RCE уязвимость Telegram прошлой недели

Начитался про RCE уязвимость Telegram прошлой недели. BleepingComputer, Хабр1, Хабр2. Пока всё ещё очень противоречиво. Мне кажется вероятным такой расклад:

🔹 Видео настоящее.
🔹 Это не zero-click RCE, калькулятор запускается после клика на превьюшку.
🔹 После клика на превьюшку скачивается и выполняется .pyzw файл (executable Python zip archive). Так что недавний фикс разработчиков Telegram, добавляющий нотификацию о потенциальной опасности при клике на .pyzw файлы (нотификации не было из-за курьёзной опечатки), на самом деле касался именно этой уязвимости.
🔹 BleepingComputer пишет про довольно сомнительную работу с файлами в Telegram: "неизвестные типы файлов, опубликованные в Telegram, будут автоматически запускаться в Windows, позволяя операционной системе решить, какую программу использовать". Файлы .pyzw были как раз такими "неизвестными" из-за опечатки. Кажется тут будет много граблей ещё и лучше бы по клику никогда ничего не запускать. 🤔
🔹 Почему .pyzw файл выглядит как превьюшка изображения - отдельная загадочная тема. BleepingComputer пишет: "Чтобы замаскировать файл, исследователи придумали использовать бот Telegram для отправки файла с mime-типом «video/mp4», в результате чего Telegram отображает файл как общедоступное видео." Пользователь Хабра пишет, что механизм там несколько другой. Мне, честно говоря, именно эти подробности не очень интересны. Научились как-то маскировать и ладно.

Что делать? Windows зло и клиент Telegram под Windows тоже зло, сносите. 🙂

А если серьёзно, то

🔸 Отключить автоматическое скачивание картинок и видео выглядят разумной предосторожностью. Вполне допускаю в будущем наличие уязвимости именно в обработке изображений или видео Telegram-клиентом.
🔸 Веб-версия Telegram, по идее, должна быть безопаснее десктопного приложения. 🤷‍♂️
🔸 Идеально мессенджер, как и браузер, в виртуалке запускать, чтобы ещё больше осложнить злоумышленнику жизнь. 😏

А так, в первую очередь у разработчиков Telegram должна голова об этом болеть, а дело пользователей регулярно его обновлять. 😉