Разбираемся, как работает CVE-2025-38352 — новая цифровая западня.

Уязвимость в реализации POSIX CPU таймеров ядра Linux стала предметом обсуждения после публикации рабочего PoC-эксплойта. Речь идёт об ошибке CVE-2025-38352 с типичным сценарием use-after-free, которая затрагивает функцию handle_posix_cpu_timers(), отвечающую за обработку сработавших таймеров в процессе переключения задач на уровне процессора.
Суть уязвимости заключается в гонке между операциями, происходящими при освобождении ресурсов для задач, перешедших в состояние зомби, и удалением соответствующего таймера. Если таймер освобождается механизмом RCU, а его структура продолжает использоваться, возникает сценарий с обращением к уже несуществующей области памяти.
В рамках демонстрации эксплойта создаётся вспомогательный поток с установленным таймером, который срабатывает сразу после перевода потока в состояние зомби. Родительский процесс в это же время запускает удаление таймера, используя ptrace. При совпадении операций в нужный временной интервал можно добиться обращения к уже освобождённой памяти, что и позволяет нарушить целостность данных в ядре.
Исследование подтверждает, что уязвимость актуальна лишь для 32-битных Android-устройств на базе архитектуры ARM. Более современные системы с 64-битным ядром защищены благодаря включённой опции CONFIG_POSIX_CPU_TIMERS_TASK_WORK, которая предотвращает подобную эксплуатацию. Поэтому применение эксплойта остаётся ограниченным определёнными конфигурациями Android, где защита отсутствует.
Для успешной проверки PoC требуется специфическая среда: ядро версии 6.12.33, мультипроцессорная конфигурация и отключённая система обнаружения ошибок памяти KASAN. Авторы доказательства провели тесты с разными настройками и зафиксировали характерные сигнатуры сбоев, свидетельствующие о нарушениях в работе ядра.
Несмотря на то, что разработанный код пока не используется для получения привилегий, существует потенциальная возможность его доработки с использованием техники атаки на кучу с перекрёстным кэшированием. Разработчики ядра уже выпустили обновления, устраняющие уязвимость. Для предотвращения риска эксплуатации владельцам уязвимых устройств рекомендуется как можно скорее установить исправленные версии ядра.