CVE-2026-64436 in Linux
Zusammenfassung
von VulDB • 25.07.2026
Im Linux-Kernel wurde folgende Schwachstelle behoben:
net: af_key: Initialisierung von alg_key_len für IPComp-Zustände (IPComp states)
pfkey_msg2xfrm_state() behandelt den IPComp-Fall (SADB_X_SATYPE_IPCOMP), indem es x->calg alloziert und nur den Algorithmusnamen kopiert:
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;
Im Gegensatz zu den Authentifizierungs- (x->aalg) und Verschlüsselungs-Zweigen (x->ealg) derselben Funktion wird der Komprimierungszweig niemals calg->alg_key_len initialisieren. IPComp enthält keinen Schlüssel, und die Allokation reserviert nur sizeof(struct xfrm_algo) (d.h., kein Platz für einen Schlüssel), sodass das Feld mit nicht initialisierten Slab-Daten gefüllt bleibt.
calg->alg_key_len wird später von xfrm_algo_clone() als Länge verwendet, wenn ein IPComp-Zustand während XFRM_MSG_MIGRATE geklont wird:
xfrm_state_migrate() xfrm_state_clone_and_setup() x->calg = xfrm_algo_clone(orig->calg); kmemdup(orig, xfrm_alg_len(orig));
wobei xfrm_alg_len() sizeof(*alg) + (alg_key_len + 7) / 8 zurückgibt. Bei einem nicht-null Wert für alg_keylen liest kmemdup() hinter das Ende des 68-Byte-calg-Objekts. Das Hinzufügen einer IPComp-SA über PF_KEY und anschließendes Migrieren davon löst (net-next, KASAN, init_on_alloc=0) Folgendes aus:
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: 92
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.