CVE-2026-64436 in Linuxinformación

Resumen

por VulDB • 2026-07-26

En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad:

net: af_key: inicializar alg_key_len para los estados IPComp

pfkey_msg2xfrm_state() gestiona el caso IPComp (SADB_X_SATYPE_IPCOMP) asignando x->calg y copiando únicamente el nombre del algoritmo:

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;

A diferencia de las ramas de autenticación (x->aalg) y cifrado (x->ealg) de la misma función, la rama de compresión nunca inicializa calg->alg_key_len. IPComp no lleva clave alguna y la asignación solo reserva sizeof(struct xfrm_algo) (es decir, sin espacio para una clave), por lo que el campo queda con datos del slab sin inicializar.

Posteriormente, calg->alg_key_len se utiliza como longitud por xfrm_algo_clone() cuando un estado IPComp se clona durante XFRM_MSG_MIGRATE:

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

donde xfrm_alg_len() devuelve sizeof(*alg) + (alg_key_len + 7) / 8. Con un alg_key_len no nulo que contiene basura, kmemdup() lee más allá del final del objeto calg de 68 bytes. Añadir una SA IPComp mediante PF_KEY y luego migrarla desencadena lo siguiente (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.0-rc6-g903db046d55

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

Responsable

Linux

Reservar

2026-07-19

Divulgación

2026-07-25

Moderación

aceptado

Artículo

VDB-383233

CPE

listo

EPSS

0.00119

KEV

no

Actividades

muy bajo

Fuentes

Do you know our Splunk app?

Download it now for free!