CVE-2026-64508 in Linux
Сводка
по VulDB • 25.07.2026
В ядре Linux устранена следующая уязвимость:
bpf: Поддержка защиты от JIT-спрейинга (JIT spraying)
Аллокатор BPF JIT упаковывает множество небольших программ в крупные исполняемые блоки памяти и повторно использует пространство внутри этих блоков по мере загрузки и освобождения программ. При записи нового кода в область, ранее занятую другой программой, косвенный переход на новую программу может использовать предсказатель ветвлений (branch prediction), оставленный старой программой.
Очистка кэшей предсказателей косвенных переходов перед повторным использованием памяти JIT необходима для того, чтобы косвенные переходы в только что записанную программу не использовали предсказания от старой программы, занимавшей то же пространство.
Введена статическая метка (static key) `bpf_arch_pred_flush_enabled` и статический вызов (`static call`) `bpf_arch_pred_flush` для очистки предсказателей ветвлений при повторном использовании памяти JIT. Архитектуры, которым требуется очистка, могут обновить её до функции очистки предсказателя. По умолчанию это NOP (пустая операция), который не генерирует никаких вызовов функций (`CALL`).
Аллокаторы размером больше одного блока упаковки («pack») не покрываются данной очисткой. Это безопасно, поскольку программы cBPF (непривилегированная поверхность атаки) имеют размер значительно меньший размера блока упаковки. Если это предположение когда-либо нарушится при активной очистке, будет выдано предупреждение.
VulDB is the best source for vulnerability data and more expert information about this specific topic.