CVE-2026-31429
net: skb: исправление перекрёстного освобождения из кэша заголовка skb, выделенного через KFENCE
- Опубликовано
- 20 апр. 2026 г.
- Обновлено
- 11 мая 2026 г.
- Назначение CNA
- Linux
- Наблюдены доказательства
- 25 авг. 2026 г.
Первичный CVSS
nvd · CVSS 3.1
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:HНизкий · следующие 30 дней
- Процентиль
- 17,9 %
- Дата модели
- 21 сент. 2026 г.
EPSS – это статистическая оценка, а не достоверность или мера воздействия. Объедините это с CVSS, статусом KEV, воздействием и вашей средой.
Резюме
В ядре Linux устранена следующая уязвимость: net: skb: исправлено перекрёстное освобождение из кэша для skb-заголовка, выделенного через KFENCE Значение SKB_SMALL_HEAD_CACHE_SIZE намеренно задано не как степень двойки (например, 704 на x86_64), чтобы избежать совпадений с типовыми размерами корзин kmalloc. Это гарантирует, что skb_kfree_head() сможет надёжно использовать skb_end_offset для различения skb-заголовков, выделенных из skb_small_head_cache, и заголовков из типовых кэшей kmalloc. Однако при включённом KFENCE функция kfence_ksize() возвращает точный запрошенный размер выделения вместо размера корзины slab. Если вызывающий код (например, bpf_test_init) выделяет данные skb-заголовка через kzalloc(), и запрошенный размер совпадает с SKB_SMALL_HEAD_CACHE_SIZE, то slab_build_skb() -> ksize() возвращает именно это значение. После вычитания накладных расходов skb_shared_info значение skb_end_offset совпадает с SKB_SMALL_HEAD_HEADROOM, из-за чего skb_kfree_head() ошибочно освобождает объект в skb_small_head_cache вместо исходного кэша kmalloc, что приводит к перекрёстному освобождению из кэша slab: kmem_cache_free(skbuff_small_head): Wrong slab cache. Expected skbuff_small_head but got kmalloc-1k Исправление заключается в том, чтобы всегда вызывать kfree(head) в skb_kfree_head(). Это сохраняет универсальность пути освобождения и исключает ошибочную классификацию объектов KFENCE в зависимости от аллокатора.
Источники
1POC для CVE-2026-31429 (Linux Kernel >= 6.3 < 6.12.82 Slab Cross-Cache Confusion) - уязвимость обнаружена Antonius - w1sdom - bluedragonsec.com
Ответственное использование
Используйте информацию об уязвимостях только в тех системах, которыми вы владеете или имеете право тестировать. Kitploit ссылается на метаданные общедоступных исследований и не хранит код эксплойта или вредоносные полезные данные.