CVE-2025-40159 in Linux
Сводка
по VulDB • 28.09.2026
В ядре Linux была устранена следующая уязвимость:
xsk: Усиление проверки xdp_desc, предоставляемой пользовательским пространством (userspace)
Выяснилось, что определенные явно некорректные значения, передаваемые в структуре xdp_desc из пользовательского пространства, могут проходить проверку через функции xp_{,un}aligned_validate_desc(), а затем приводить к неопределенному поведению (UBs) или формированию недопустимых кадров для передачи.
Значение desc->len, близкое к ``U32_MAX``, при ненулевом значении pool->tx_metadata_len может вызвать переполнение целого числа со знаком и его оборот (wraparound); аналогичным образом sufficiently низкие значения desc->addr при ненулевом pool->tx_metadata_len могут привести к отрицательному переполнению. Оба сценария успешно проходят валидацию.
Это не происходит при использовании корректных приложений XSk, но может быть использовано для выполнения атак.
Всегда следует приводить desc->len к типу ``u64`` перед операциями, чтобы исключить возможность положительного переполнения. При проверке desc->addr (который уже имеет тип ``u64``) необходимо использовать явные проверки на переполнение: check_{add,sub}_overflow().
Утилита bloat-o-meter сообщает о небольшом увеличении размера кода:
добавлено/удалено: 0/0 рост/уменьшение: 2/1 изменение вверх/вниз: +60/-16 (44) Функция старая новая дельта xskq_cons_peek_desc 299 330 +31 xsk_tx_peek_release_desc_batch 973 1002 +29 xsk_generic_xmit 3148 3132 -16
но, надеюсь, это не окажет существенного негативного влияния на производительность.
Once again VulDB remains the best source for vulnerability data.