Ad

CVE-2026-72157

HIGH CVSS 3.1: 8,8 EPSS 0.34%
Обновлено 23 августа 2026
Linux
Параметр Значение
CVSS 8,8 (HIGH)
Поставщик Linux
Публичный эксплойт Нет

В ядре Linux устранена следующая уязвимость: net: Thunderbolt: исправлено переполнение frags[] путем ограничения Frame_count. tbnet_poll() собирает многокадровый пакет ThunderboltIP в один skb. первый кадр попадает в линейную область skb, а каждый последующий кадр добавляется как фрагмент страницы. skb_add_rx_frag(skb, skb_shinfo(skb)->nr_frags, страница, hdr_size,frame_size, TBNET_RX_PAGE_SIZEhdr_size); Таким образом, пакет кадров Frame_count заканчивается со значением Frame_count - 1. фрагменты. tbnet_check_frame() ограничивает предоставленный одноранговым узлом Frame_count только TBNET_RING_SIZE/4 (64), что намного выше MAX_SKB_FRAGS (17 по умолчанию). А узел, который отправляет пакет из 19 или более небольших кадров, пропускает nr_frags мимо MAX_SKB_FRAGS, поэтому skb_add_rx_frag() записывает прошедшие skb_shinfo()->frags[] и повреждает память после общей информации. Затяните начало пакета, привязанного к MAX_SKB_FRAGS + 1, чтобы пакет никогда не мог создавать больше фрагментов, чем может вместить frags[].

Это соответствует недавнему скб исправления переполнения фрагментов в других путях получения, например f0813bcd2d9d ("net: wwan: t7xx: исправить потенциальное переполнение skb->frags в пути RX") и 600dc40554dc («net: usb: cdc-phonet: исправить переполнение skb frags[] в rx_complete()»).

Показать оригинальное описание (EN)

In the Linux kernel, the following vulnerability has been resolved: net: thunderbolt: Fix frags[] overflow by bounding frame_count tbnet_poll() assembles a multi-frame ThunderboltIP packet into one skb. The first frame goes into the skb linear area and every further frame is added as a page fragment. skb_add_rx_frag(skb, skb_shinfo(skb)->nr_frags, page, hdr_size, frame_size, TBNET_RX_PAGE_SIZE - hdr_size); A packet of frame_count frames therefore ends up with frame_count - 1 fragments. tbnet_check_frame() only bounds the peer supplied frame_count to TBNET_RING_SIZE / 4 (64), which is far above MAX_SKB_FRAGS (17 by default). A peer that sends a packet of 19 or more small frames pushes nr_frags past MAX_SKB_FRAGS, so skb_add_rx_frag() writes past skb_shinfo()->frags[] and corrupts memory after the shared info. Tighten the start of packet bound to MAX_SKB_FRAGS + 1 so a packet can never produce more fragments than frags[] can hold. This matches the recent skb frags overflow fixes in other receive paths, for example f0813bcd2d9d ("net: wwan: t7xx: fix potential skb->frags overflow in RX path") and 600dc40554dc ("net: usb: cdc-phonet: fix skb frags[] overflow in rx_complete()").

Характеристики атаки

Способ атаки
Смежная сеть
Нужен доступ к локальной сети
Сложность
Низкая
Легко эксплуатировать
Нужны права
Не требуются
Права не нужны
Участие пользователя
Не требуется
Не нужно действие пользователя

Последствия

Конфиденциальность
Высокое
Полная утечка данных
Целостность
Высокое
Полная модификация данных
Доступность
Высокое
Полный отказ в обслуживании

Строка CVSS v3.1