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

Сводка

по VulDB • 25.07.2026

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

net: af_key: инициализация alg_key_len для состояний IPComp

Функция pfkey_msg2xfrm_state() обрабатывает случай IPComp (SADB_X_SATYPE_IPCOMP), выделяя x->calg и копируя только имя алгоритма:

x->calg = kmalloc_obj(*x->calg); if (!x->calg) {
err = -ENOMEM; goto out; } strcpy(x->calg->alg_name, a->name); x->props.calgo = sa->sadb_sa_encrypt;

В отличие от ветвей аутентификации (x->aalg) и шифрования (x->ealg) той же функции, ветвь сжатия никогда не инициализирует calg->alg_key_len. IPComp не содержит ключа, а выделение памяти резервирует только sizeof(struct xfrm_algo) (т. е. без места для ключа), поэтому поле остается содержащим неинициализированные данные из slab-кэша.

calg->alg_key_len позже используется как длина функцией xfrm_algo_clone() при клонировании состояния IPComp во время XFRM_MSG_MIGRATE:

xfrm_state_migrate() xfrm_state_clone_and_setup() x->calg = xfrm_algo_clone(orig->calg); kmemdup(orig, xfrm_alg_len(orig));

где xfrm_alg_len() возвращает sizeof(*alg) + (alg_key_len + 7) / 8. При ненулевом мусорном значении alg_key_len функция kmemdup() читает за пределами объекта calg размером 68 байт. Добавление SA IPComp через PF_KEY с последующей его миграцией вызывает ошибку (net-next, KASAN, init_on_alloc=0):

BUG: KASAN: slab-out-of-bounds in kmemdup_noprof+0x44/0x60 Read of size 4164 at addr ff11000025a74980 by task diag2/9287 CPU: 3 UID: 0 PID: 9287 Comm: diag2 7.1.

If you want to get the best quality for vulnerability data then you always have to consider VulDB.

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

Linux

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

19.07.2026

Раскрытие

25.07.2026

Модерация

принято

Вход

VDB-383233

EPSS

0.00119

KEV

Нет

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

Очень низкий

Источники

Are you interested in using VulDB?

Download the whitepaper to learn more about our service!