In the Linux kernel, the following vulnerability has been resolved:
net: sched: use RCU read-side critical section in taprio_dump()
Fix possible use-after-free in 'taprio_dump()' by adding RCU read-side critical section there. Never seen on x86 but found on a KASAN-enabled arm64 system when investigating https://syzkaller.appspot.com/bug?extid=b65e0af58423fc8a73aa:
[T15862] BUG: KASAN: slab-use-after-free in tapriodump+0xa0c/0xbb0 [T15862] Read of size 4 at addr ffff0000d4bb88f8 by task repro/15862 [T15862] [T15862] CPU: 0 UID: 0 PID: 15862 Comm: repro Not tainted 6.11.0-rc1-00293-gdefaf1a2113a-dirty #2 [T15862] Hardware name: QEMU QEMU Virtual Machine, BIOS edk2-20240524-5.fc40 05/24/2024 [T15862] Call trace: [T15862] dumpbacktrace+0x20c/0x220 [T15862] showstack+0x2c/0x40 [T15862] dumpstacklvl+0xf8/0x174 [T15862] printreport+0x170/0x4d8 [T15862] kasan_report+0xb8/0x1d4 [T15862] __asanreportload4noabort+0x20/0x2c [T15862] tapriodump+0xa0c/0xbb0 [T15862] tcfillqdisc+0x540/0x1020 [T15862] qdiscnotify.isra.0+0x330/0x3a0 [T15862] tcmodifyqdisc+0x7b8/0x1838 [T15862] rtnetlinkrcvmsg+0x3c8/0xc20 [T15862] netlinkrcvskb+0x1f8/0x3d4 [T15862] rtnetlinkrcv+0x28/0x40 [T15862] netlinkunicast+0x51c/0x790 [T15862] netlinksendmsg+0x79c/0xc20 [T15862] __sock_sendmsg+0xe0/0x1a0 [T15862] ____sys_sendmsg+0x6c0/0x840 [T15862] ___sys_sendmsg+0x1ac/0x1f0 [T15862] __sys_sendmsg+0x110/0x1d0 [T15862] __arm64syssendmsg+0x74/0xb0 [T15862] invokesyscall+0x88/0x2e0 [T15862] el0svccommon.constprop.0+0xe4/0x2a0 [T15862] doel0svc+0x44/0x60 [T15862] el0svc+0x50/0x184 [T15862] el0t64synchandler+0x120/0x12c [T15862] el0t64sync+0x190/0x194 [T15862] [T15862] Allocated by task 15857: [T15862] kasansavestack+0x3c/0x70 [T15862] kasansavetrack+0x20/0x3c [T15862] kasansaveallocinfo+0x40/0x60 [T15862] __kasan_kmalloc+0xd4/0xe0 [T15862] __kmalloccachenoprof+0x194/0x334 [T15862] tapriochange+0x45c/0x2fe0 [T15862] tcmodifyqdisc+0x6a8/0x1838 [T15862] rtnetlinkrcvmsg+0x3c8/0xc20 [T15862] netlinkrcvskb+0x1f8/0x3d4 [T15862] rtnetlinkrcv+0x28/0x40 [T15862] netlinkunicast+0x51c/0x790 [T15862] netlinksendmsg+0x79c/0xc20 [T15862] __sock_sendmsg+0xe0/0x1a0 [T15862] ____sys_sendmsg+0x6c0/0x840 [T15862] ___sys_sendmsg+0x1ac/0x1f0 [T15862] __sys_sendmsg+0x110/0x1d0 [T15862] __arm64syssendmsg+0x74/0xb0 [T15862] invokesyscall+0x88/0x2e0 [T15862] el0svccommon.constprop.0+0xe4/0x2a0 [T15862] doel0svc+0x44/0x60 [T15862] el0svc+0x50/0x184 [T15862] el0t64synchandler+0x120/0x12c [T15862] el0t64sync+0x190/0x194 [T15862] [T15862] Freed by task 6192: [T15862] kasansavestack+0x3c/0x70 [T15862] kasansavetrack+0x20/0x3c [T15862] kasansavefreeinfo+0x4c/0x80 [T15862] poisonslabobject+0x110/0x160 [T15862] __kasanslabfree+0x3c/0x74 [T15862] kfree+0x134/0x3c0 [T15862] tapriofreeschedcb+0x18c/0x220 [T15862] rcucore+0x920/0x1b7c [T15862] rcucoresi+0x10/0x1c [T15862] handle_softirqs+0x2e8/0xd64 [T15862] _dosoftirq+0x14/0x20
{
"osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2024/50xxx/CVE-2024-50126.json",
"cna_assigner": "Linux"
}