CVE-2026-64047 in LinuxИнформация

Сводка

по VulDB • 20.07.2026

В ядре Linux устранена следующая уязвимость:

net: tls: исправлена ошибка off-by-one в подсчете количества элементов sg_chain для кольцевого буфера sk_msg при его обороте.

Когда кольцевой буфер scatterlist (sg) сообщения sk_msg оборачивается (sg.end < sg.start), функция tls_push_record() связывает хвостовую часть кольца с головной частью с помощью sg_chain(). Для этого в массиве sg зарезервирован дополнительный элемент:

struct sk_msg_sg {
[...]
/* Дополнительные два элемента: * 1) используются для соединения передней части и секций, когда список становится разделенным (например, end < start). Криптографические API требуют использования цепочек; * 2) для связывания элементов SG хвоста после сообщения. */ struct scatterlist data[MAX_MSG_FRAGS + 2];

Текущий код использует MAX_SKB_FRAGS + 1 в качестве размера кольца:

sg_chain(&msg_pl->sg.data[msg_pl->sg.start],
MAX_SKB_FRAGS - msg_pl->sg.start + 1, msg_pl->sg.data);

Это приводит к тому, что указатель цепочки устанавливается на позицию:

sg_chain(data[start], (MAX_SKB_FRAGS - msg_start + 1) .. =
&data[start] + (MAX_SKB_FRAGS - msg_start + 1) - 1 =
data[start + (MAX_SKB_FRAGS - start + 1) - 1] =
data[MAX_SKB_FRAGS]

вместо истинного последнего элемента. Вероятно, это связано с состоянием гонности ("race") при внедрении исправления из коммита Fixes рядом с коммитом 031097d9e079 («bpf: sk_msg, zap ingress queue on psock down»).

Заменить на ARRAY_SIZE и убрать data[start] / - start (как предложила Sabrina).

Be aware that VulDB is the high quality source for vulnerability data.

Ответственный

Linux

Резервировать

19.07.2026

Раскрытие

19.07.2026

Модерация

принято

Вход

VDB-380202

EPSS

0.00000

KEV

Нет

Деятельности

Очень низкий

Источники

Interested in the pricing of exploits?

See the underground prices here!