CVE-2025-21781

In the Linux kernel, the following vulnerability has been resolved: batman-adv: fix panic during interface removal Reference counting is used to ensure that batadv_hardif_neigh_node and batadv_hard_iface are not freed before/during batadv_v_elp_throughput_metric_update work is finished. But there isn't a guarantee that the hard if will remain associated with a soft interface up until the work is finished. This fixes a crash triggered by reboot that looks like this: Call trace: batadv_v_mesh_free+0xd0/0x4dc [batman_adv] batadv_v_elp_throughput_metric_update+0x1c/0xa4 process_one_work+0x178/0x398 worker_thread+0x2e8/0x4d0 kthread+0xd8/0xdc ret_from_fork+0x10/0x20 (the batadv_v_mesh_free call is misleading, and does not actually happen) I was able to make the issue happen more reliably by changing hardif_neigh->bat_v.metric_work work to be delayed work. This allowed me to track down and confirm the fix. [sven@narfation.org: prevent entering batadv_v_elp_get_throughput without soft_iface]
Configurations

Configuration 1 (hide)

OR cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:6.14:rc1:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:6.14:rc2:*:*:*:*:*:*

History

28 Oct 2025, 20:38

Type Values Removed Values Added
First Time Linux linux Kernel
Linux
CVSS v2 : unknown
v3 : unknown
v2 : unknown
v3 : 5.5
References () https://git.kernel.org/stable/c/072b2787321903287a126c148e8db87dd7ef96fe - () https://git.kernel.org/stable/c/072b2787321903287a126c148e8db87dd7ef96fe - Patch
References () https://git.kernel.org/stable/c/167422a07096a6006599067c8b55884064fa0b72 - () https://git.kernel.org/stable/c/167422a07096a6006599067c8b55884064fa0b72 - Patch
References () https://git.kernel.org/stable/c/2c3fb7df4cc6d043f70d4a8a10f8b915bbfb75e7 - () https://git.kernel.org/stable/c/2c3fb7df4cc6d043f70d4a8a10f8b915bbfb75e7 - Patch
References () https://git.kernel.org/stable/c/522b1596ea19e327853804da2de60aeb9c5d6f42 - () https://git.kernel.org/stable/c/522b1596ea19e327853804da2de60aeb9c5d6f42 - Patch
References () https://git.kernel.org/stable/c/7eb5dd201695645af071592a50026eb780081a72 - () https://git.kernel.org/stable/c/7eb5dd201695645af071592a50026eb780081a72 - Patch
References () https://git.kernel.org/stable/c/ccb7276a6d26d6f8416e315b43b45e15ee7f29e2 - () https://git.kernel.org/stable/c/ccb7276a6d26d6f8416e315b43b45e15ee7f29e2 - Patch
References () https://git.kernel.org/stable/c/ce3f1545bf8fa28bd05ec113679e8e6cd23af577 - () https://git.kernel.org/stable/c/ce3f1545bf8fa28bd05ec113679e8e6cd23af577 - Patch
References () https://git.kernel.org/stable/c/f0a16c6c79768180333f3e41ce63f32730e3c3af - () https://git.kernel.org/stable/c/f0a16c6c79768180333f3e41ce63f32730e3c3af - Patch
CPE cpe:2.3:o:linux:linux_kernel:6.14:rc2:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:6.14:rc1:*:*:*:*:*:*
CWE NVD-CWE-noinfo

13 Mar 2025, 13:15

Type Values Removed Values Added
Summary
  • (es) En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: batman-adv: se corrige el pánico durante la eliminación de la interfaz. El recuento de referencias se utiliza para garantizar que batadv_hardif_neigh_node y batadv_hard_iface no se liberen antes o durante la finalización del trabajo de batadv_v_elp_throughput_metric_update. Pero no hay garantía de que el if duro permanezca asociado con una interfaz blanda hasta que finalice el trabajo. Esto corrige un fallo provocado por el reinicio que se parece a esto: Seguimiento de llamada: batadv_v_mesh_free+0xd0/0x4dc [batman_adv] batadv_v_elp_throughput_metric_update+0x1c/0xa4 process_one_work+0x178/0x398 worker_thread+0x2e8/0x4d0 kthread+0xd8/0xdc ret_from_fork+0x10/0x20 (la llamada batadv_v_mesh_free es engañosa y en realidad no sucede) Pude hacer que el problema sucediera de manera más confiable al cambiar hardif_neigh->bat_v.metric_work work para que sea delayed work. Esto me permitió rastrear y confirmar la solución. [sven@narfation.org: evitar ingresar batadv_v_elp_get_throughput sin soft_iface]
References
  • () https://git.kernel.org/stable/c/167422a07096a6006599067c8b55884064fa0b72 -
  • () https://git.kernel.org/stable/c/ce3f1545bf8fa28bd05ec113679e8e6cd23af577 -
  • () https://git.kernel.org/stable/c/f0a16c6c79768180333f3e41ce63f32730e3c3af -

27 Feb 2025, 03:15

Type Values Removed Values Added
New CVE

Information

Published : 2025-02-27 03:15

Updated : 2025-10-28 20:38


NVD link : CVE-2025-21781

Mitre link : CVE-2025-21781

CVE.ORG link : CVE-2025-21781


JSON object : View

Products Affected

linux

  • linux_kernel