Опубликована техника обхода SMEP-защиты при эксплуатации Linux уязвимостей

Опубликована техника обхода SMEP-защиты при эксплуатации Linux уязвимостей

В ядре Linux 3.0 была представлена поддержка режима SMEP (Supervisor Mode Execution Protection), присутствующего в процессорах Intel на базе архитектуры Ivy Bridge. Использование SMEP не даёт переходить из режима ядра к выполнению кода, находящегося на пользовательском уровне, что позволяет блокировать эксплуатацию многих уязвимостей в ядре Linux (shell-код не будет выполнен, так как он находится в пространстве пользователя).

Один из исследователей безопасности опубликовал интересный способ эксплуатации уязвимостей в ядре в обход защиты SMEP (существуют и другие пути обхода SMEP, но данный метод заслуживает внимания в силу своей оригинальности), сообщает opennet.ru.

Метод построен на основе организации подстановки последовательности инструкций в исполняемую область JIT-компилятора (например, подсистемы BPF - Berkeley Packet Filter), генерирующего код на основе входных данных, которые могут контролироваться атакующим. Так как JIT-компилятор контролирует генерацию кода, так просто подставить инструкции не получится. Но можно воспользоваться тем, что входящие данные используются в качестве аргументов генерируемых инструкций. Например, для входных данных "$0xa8XXYYZZ" и "$0xa8PPQQRR" будет сгенерирован код:

b8 ZZ YY XX a8 mov $0xa8XXYYZZ, %eax
b8 RR QQ PP a8 mov $0xa8PPQQRR, %eax
b8 ...

Если пропустить байт с кодом инструкции mov (b8) и передать управление на следующий за ним байт (ZZ) будет выполнен машинный код "ZZ YY XX". При этом переданные в хвосте данные "a8" будут обработаны как ничего не значащая команда test с аргументом из кода команды mov (b8):

ZZ YY XX (подконтрольные атакующему инструкции)
a8 b8 test $0xb8, %al
RR QQ PP (подконтрольные атакующему инструкции)
a8 b8 test $0xb8, %al

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

У Premium-подписчиков Telegram внезапно ожил без VPN

Telegram в России снова начал работать почти как раньше, но пока не для всех. Речь идёт о пользователях Android с активной подпиской Telegram Premium: у них мессенджер может запускаться и работать без прокси и VPN. При этом в настройках аккаунта страна внезапно меняется с России на другую — например, на Нидерланды или США.

По данным ресурса «Код Дурова», на бесплатных аккаунтах картина другая. Без дополнительных сетевых средств у таких пользователей по-прежнему не прогружаются контакты, контент и другие элементы интерфейса.

Аналогичные ограничения сохраняются и для части пользователей iPhone и десктопов. Предположительно, новая схема тестируется в версии Telegram 12.6.4 для Android.

Ранее внимание к этой сборке уже привлекали из-за изменений в работе MTProto: мы писали, что в обновлении была исправлена проблема, из-за которой этот механизм было проще отслеживать и блокировать. Позже стала доступна и бета-версия 12.6.5.

Согласно описанию происходящего, паттерн очень похож на работу встроенного или автоматически активированного MTProxy. Из-за этого возникает ещё одна любопытная деталь: если поверх такого подключения включить VPN, Telegram может перестать работать уже из-за конфликта туннелирования трафика.

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

Напомним, 11 апреля 2026 года Павел Дуров заявил, что Telegram обновил протокол противодействия цензуре, и посоветовал пользователям в России обновить приложение, чтобы сохранять стабильный доступ к мессенджеру. А ещё раньше, 4 апреля, он писал, что Telegram продолжит адаптироваться, делая свой трафик более сложным для обнаружения и блокировки.

RSS: Новости на портале Anti-Malware.ru