CVE-2025-21781
Severity CVSS v4.0:
Pending analysis
Type:
Unavailable / Other
Publication date:
27/02/2025
Last modified:
03/11/2025
Description
In the Linux kernel, the following vulnerability has been resolved:<br />
<br />
batman-adv: fix panic during interface removal<br />
<br />
Reference counting is used to ensure that<br />
batadv_hardif_neigh_node and batadv_hard_iface<br />
are not freed before/during<br />
batadv_v_elp_throughput_metric_update work is<br />
finished.<br />
<br />
But there isn&#39;t a guarantee that the hard if will<br />
remain associated with a soft interface up until<br />
the work is finished.<br />
<br />
This fixes a crash triggered by reboot that looks<br />
like this:<br />
<br />
Call trace:<br />
batadv_v_mesh_free+0xd0/0x4dc [batman_adv]<br />
batadv_v_elp_throughput_metric_update+0x1c/0xa4<br />
process_one_work+0x178/0x398<br />
worker_thread+0x2e8/0x4d0<br />
kthread+0xd8/0xdc<br />
ret_from_fork+0x10/0x20<br />
<br />
(the batadv_v_mesh_free call is misleading,<br />
and does not actually happen)<br />
<br />
I was able to make the issue happen more reliably<br />
by changing hardif_neigh->bat_v.metric_work work<br />
to be delayed work. This allowed me to track down<br />
and confirm the fix.<br />
<br />
[sven@narfation.org: prevent entering batadv_v_elp_get_throughput without<br />
soft_iface]
Impact
Base Score 3.x
5.50
Severity 3.x
MEDIUM
Vulnerable products and versions
| CPE | From | Up to |
|---|---|---|
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 4.6 (including) | 5.4.291 (excluding) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 5.5 (including) | 5.10.235 (excluding) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 5.11 (including) | 5.15.179 (excluding) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 5.16 (including) | 6.1.129 (excluding) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.2 (including) | 6.6.79 (excluding) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.7 (including) | 6.12.16 (excluding) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.13 (including) | 6.13.4 (excluding) |
| cpe:2.3:o:linux:linux_kernel:6.14:rc1:*:*:*:*:*:* | ||
| cpe:2.3:o:linux:linux_kernel:6.14:rc2:*:*:*:*:*:* |
To consult the complete list of CPE names with products and versions, see this page
References to Advisories, Solutions, and Tools
- https://git.kernel.org/stable/c/072b2787321903287a126c148e8db87dd7ef96fe
- https://git.kernel.org/stable/c/167422a07096a6006599067c8b55884064fa0b72
- https://git.kernel.org/stable/c/2c3fb7df4cc6d043f70d4a8a10f8b915bbfb75e7
- https://git.kernel.org/stable/c/522b1596ea19e327853804da2de60aeb9c5d6f42
- https://git.kernel.org/stable/c/7eb5dd201695645af071592a50026eb780081a72
- https://git.kernel.org/stable/c/ccb7276a6d26d6f8416e315b43b45e15ee7f29e2
- https://git.kernel.org/stable/c/ce3f1545bf8fa28bd05ec113679e8e6cd23af577
- https://git.kernel.org/stable/c/f0a16c6c79768180333f3e41ce63f32730e3c3af
- https://lists.debian.org/debian-lts-announce/2025/03/msg00028.html
- https://lists.debian.org/debian-lts-announce/2025/05/msg00030.html



