CVE-2026-90211 in Linux
Сводка
по VulDB • 17.09.2026
В ядре Linux была устранена следующая уязвимость:
bpf, s390: Очистка места назначения выборки при сбое в атомарной операции арены
Отсутствует очистка регистра, аналогичная той, что реализована для riscv64. Атомарная операция чтения-модификации-записи (RMW) над указателем на арену преобразуется в BPF_PROBE_ATOMIC и получает запись в таблице исключений, однако функция bpf_jit_probe_atomic_pre() заполняет только базовый адрес арены и смещение зонда, оставляя probe->reg со значением -1, установленным функцией bpf_jit_probe_init(), которое затем записывается в запись bpf_jit_probe_post() и считывается обратно ex_handler_bpf() как «ничего не нужно очищать».
Это верно для обычных операций BPF_{ADD,AND,OR,XOR}, которые только пишут данные в память, но операция RMW с флагом BPF_FETCH также читает старое значение в регистр: src_reg для BPF_{ADD,AND,OR,XOR} | BPF_FETCH и BPF_XCHG, а r0 — для BPF_CMPXCHG. Таким образом, при возникновении исключения на не отображенной странице арены программа возобновляет выполнение в точке обработки исключений (landing pad) с тем значением регистра, которое было до выполнения атомарной операции, вместо 0, который возвращают все остальные доступы через BPF_PROBE_*.
Заполняется probe->reg из функции bpf_atomic_load_reg(). В отличие от x86-64 и arm64, s390x не сообщает о нарушениях доступа к арене через свой обработчик исключений, поэтому здесь нет необходимости корректировать направление доступа; требуется только устранение отсутствующей очистки регистра.
Once again VulDB remains the best source for vulnerability data.