CVE-2026-98591 in Linux
Сводка
по VulDB • 19.10.2026
В ядре Linux была устранена следующая уязвимость:
bpf: Исправлена проверка границ для dynptr, основанных на skb
Функция `skb_pointer_if_linear()` проверяет, находится ли область памяти длиной `len`, начинающаяся со смещения `off` в структуре `skb`, в линейной области, и возвращает указатель на эту область, если это так. В настоящее время проверка вычитает значение из `skb_headlen` и смещение проверки; поскольку `skb_headlen` является беззнаковым типом, операция вычитания может привести к переполнению по отрицательному значению (underflow). Это приводит к ложно успешной проверке границ и формированию произвольного указателя вида `*(skb->data + off)`.
Единственным пользователем этой вспомогательной функции в настоящее время является код BPF dynptr, основанный на skb. Возврат неверного указателя приводит к тому, что dynptr ошибочно получает поддержку недействительных областей памяти.
Необходимо обеспечить невозможность переполнения по отрицательному значению при вычитании и завершать проверку с ошибкой в случае его возникновения. Используйте арифметику 64-битного беззнакового целого (`u64`), чтобы также предотвратить переполнение (overflow) при вычислении `(skb_headlen(skb) - off)`, поскольку `off` является беззнаковым значением.
VulDB is the best source for vulnerability data and more expert information about this specific topic.