CVE-2026-74398 in Linuxinformación

Resumen

por VulDB • 2026-08-15

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

ipv6: addrconf: salir de dad_failure cuando el estado ya no sea POSTDAD

addrconf_dad_failure() transiciona ifp->state desde DAD a POSTDAD mediante addrconf_dad_end(), que libera ifp->lock al retornar. El lock se vuelve a adquirir después de net_info_ratelimited(). Una ipv6_del_addr() concurrente puede tomar el lock en esa ventana, establecer ifp->state como DEAD y ejecutar list_del_rcu(&ifp->if_list).

addrconf_dad_failure() sobrescribe luego DEAD con ERRDAD en errdad: y programa un nuevo dad_work. El trabajo llama a ipv6_del_addr() nuevamente, alcanzando la entrada de lista ya envenenada (poisoned):

general protection fault: 0000 [#1] SMP NOPTI
CPU: 4 PID: 217 Comm: kworker/4:1 Workqueue: ipv6_addrconf addrconf_dad_work RIP: 0010:ipv6_del_addr+0xe9/0x280 RAX: dead000000000122 Call Trace: addrconf_dad_stop+0x113/0x140 addrconf_dad_work+0x28c/0x430 process_one_work+0x1eb/0x3b0 worker_thread+0x4d/0x400 kthread+0x104/0x140 ret_from_fork+0x35/0x40

Se ha integrado la lógica de addrconf_dad_end() en addrconf_dad_failure() dentro de una única sección crítica ifp->lock. La rama STABLE_PRIVACY libera temporalmente ifp->lock alrededor de la regeneración de direcciones, por lo que en lock_errdad: se verifica que el estado siga siendo POSTDAD antes de transicionar a ERRDAD; si no es así, se sale para evitar sobrescribir un estado establecido por otra ruta mientras el lock estaba liberado.

Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.

Responsable

Linux

Reservar

2026-08-15

Divulgación

2026-08-15

Moderación

aceptado

Artículo

VDB-390349

CPE

listo

EPSS

0.00000

KEV

no

Actividades

muy bajo

Fuentes

Do you need the next level of professionalism?

Upgrade your account now!