CVE-2025-38666
Severity CVSS v4.0:
Pending analysis
Type:
CWE-416
Use After Free
Publication date:
22/08/2025
Last modified:
07/01/2026
Description
In the Linux kernel, the following vulnerability has been resolved:<br />
<br />
net: appletalk: Fix use-after-free in AARP proxy probe<br />
<br />
The AARP proxy‐probe routine (aarp_proxy_probe_network) sends a probe,<br />
releases the aarp_lock, sleeps, then re-acquires the lock. During that<br />
window an expire timer thread (__aarp_expire_timer) can remove and<br />
kfree() the same entry, leading to a use-after-free.<br />
<br />
race condition:<br />
<br />
cpu 0 | cpu 1<br />
atalk_sendmsg() | atif_proxy_probe_device()<br />
aarp_send_ddp() | aarp_proxy_probe_network()<br />
mod_timer() | lock(aarp_lock) // LOCK!!<br />
timeout around 200ms | alloc(aarp_entry)<br />
and then call | proxies[hash] = aarp_entry<br />
aarp_expire_timeout() | aarp_send_probe()<br />
| unlock(aarp_lock) // UNLOCK!!<br />
lock(aarp_lock) // LOCK!! | msleep(100);<br />
__aarp_expire_timer(&proxies[ct]) |<br />
free(aarp_entry) |<br />
unlock(aarp_lock) // UNLOCK!! |<br />
| lock(aarp_lock) // LOCK!!<br />
| UAF aarp_entry !!<br />
<br />
==================================================================<br />
BUG: KASAN: slab-use-after-free in aarp_proxy_probe_network+0x560/0x630 net/appletalk/aarp.c:493<br />
Read of size 4 at addr ffff8880123aa360 by task repro/13278<br />
<br />
CPU: 3 UID: 0 PID: 13278 Comm: repro Not tainted 6.15.2 #3 PREEMPT(full)<br />
Call Trace:<br />
<br />
__dump_stack lib/dump_stack.c:94 [inline]<br />
dump_stack_lvl+0x116/0x1b0 lib/dump_stack.c:120<br />
print_address_description mm/kasan/report.c:408 [inline]<br />
print_report+0xc1/0x630 mm/kasan/report.c:521<br />
kasan_report+0xca/0x100 mm/kasan/report.c:634<br />
aarp_proxy_probe_network+0x560/0x630 net/appletalk/aarp.c:493<br />
atif_proxy_probe_device net/appletalk/ddp.c:332 [inline]<br />
atif_ioctl+0xb58/0x16c0 net/appletalk/ddp.c:857<br />
atalk_ioctl+0x198/0x2f0 net/appletalk/ddp.c:1818<br />
sock_do_ioctl+0xdc/0x260 net/socket.c:1190<br />
sock_ioctl+0x239/0x6a0 net/socket.c:1311<br />
vfs_ioctl fs/ioctl.c:51 [inline]<br />
__do_sys_ioctl fs/ioctl.c:906 [inline]<br />
__se_sys_ioctl fs/ioctl.c:892 [inline]<br />
__x64_sys_ioctl+0x194/0x200 fs/ioctl.c:892<br />
do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]<br />
do_syscall_64+0xcb/0x250 arch/x86/entry/syscall_64.c:94<br />
entry_SYSCALL_64_after_hwframe+0x77/0x7f<br />
<br />
<br />
Allocated:<br />
aarp_alloc net/appletalk/aarp.c:382 [inline]<br />
aarp_proxy_probe_network+0xd8/0x630 net/appletalk/aarp.c:468<br />
atif_proxy_probe_device net/appletalk/ddp.c:332 [inline]<br />
atif_ioctl+0xb58/0x16c0 net/appletalk/ddp.c:857<br />
atalk_ioctl+0x198/0x2f0 net/appletalk/ddp.c:1818<br />
<br />
Freed:<br />
kfree+0x148/0x4d0 mm/slub.c:4841<br />
__aarp_expire net/appletalk/aarp.c:90 [inline]<br />
__aarp_expire_timer net/appletalk/aarp.c:261 [inline]<br />
aarp_expire_timeout+0x480/0x6e0 net/appletalk/aarp.c:317<br />
<br />
The buggy address belongs to the object at ffff8880123aa300<br />
which belongs to the cache kmalloc-192 of size 192<br />
The buggy address is located 96 bytes inside of<br />
freed 192-byte region [ffff8880123aa300, ffff8880123aa3c0)<br />
<br />
Memory state around the buggy address:<br />
ffff8880123aa200: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00<br />
ffff8880123aa280: 00 00 00 00 fc fc fc fc fc fc fc fc fc fc fc fc<br />
>ffff8880123aa300: fa fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb<br />
^<br />
ffff8880123aa380: fb fb fb fb fb fb fb fb fc fc fc fc fc fc fc fc<br />
ffff8880123aa400: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00<br />
==================================================================
Impact
Base Score 3.x
7.80
Severity 3.x
HIGH
Vulnerable products and versions
| CPE | From | Up to |
|---|---|---|
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 2.6.13 (including) | 5.4.297 (excluding) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 5.5 (including) | 5.10.241 (excluding) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 5.11 (including) | 5.15.190 (excluding) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 5.16 (including) | 6.1.148 (excluding) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.2 (including) | 6.6.101 (excluding) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.7 (including) | 6.12.41 (excluding) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.13 (including) | 6.15.9 (excluding) |
| cpe:2.3:o:linux:linux_kernel:2.6.12:-:*:*:*:*:*:* | ||
| cpe:2.3:o:linux:linux_kernel:2.6.12:rc2:*:*:*:*:*:* | ||
| cpe:2.3:o:linux:linux_kernel:2.6.12:rc3:*:*:*:*:*:* | ||
| cpe:2.3:o:linux:linux_kernel:2.6.12:rc4:*:*:*:*:*:* | ||
| cpe:2.3:o:linux:linux_kernel:2.6.12:rc5:*:*:*:*:*:* | ||
| cpe:2.3:o:linux:linux_kernel:6.16:rc1:*:*:*:*:*:* | ||
| cpe:2.3:o:linux:linux_kernel:6.16:rc2:*:*:*:*:*:* | ||
| cpe:2.3:o:linux:linux_kernel:6.16:rc3:*:*:*:*:*:* |
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/186942d19c0222617ef61f50e1dba91e269a5963
- https://git.kernel.org/stable/c/2a6209e4649d45fd85d4193abc481911858ffc6f
- https://git.kernel.org/stable/c/5f02ea0f63dd38c41539ea290fcc1693c73aa8e5
- https://git.kernel.org/stable/c/6c4a92d07b0850342d3becf2e608f805e972467c
- https://git.kernel.org/stable/c/82d19a70ced28b17a38ebf1b6978c6c7db894979
- https://git.kernel.org/stable/c/b35694ffabb2af308a1f725d70f60fd8a47d1f3e
- https://git.kernel.org/stable/c/e4f1564c5b699eb89b3040688fd6b4e57922f1f6
- https://git.kernel.org/stable/c/f90b6bb203f3f38bf2b3d976113d51571df9a482
- https://lists.debian.org/debian-lts-announce/2025/10/msg00007.html
- https://lists.debian.org/debian-lts-announce/2025/10/msg00008.html



