In the Linux kernel, the following vulnerability has been resolved:
tracing: kprobe: Fix potential null-ptr-deref on tracearray in kprobeeventgentest_exit()
When testgenkprobecmd() failed after kprobeeventgencmdend(), it will goto delete, which will call kprobeeventdelete() and release the corresponding resource. However, the tracearray in genkretprobetest will point to the invalid resource. Set genkretprobetest to NULL after called kprobeeventdelete() to prevent null-ptr-deref.
BUG: kernel NULL pointer dereference, address: 0000000000000070 PGD 0 P4D 0 Oops: 0000 [#1] SMP PTI CPU: 0 PID: 246 Comm: modprobe Tainted: G W 6.1.0-rc1-00174-g9522dc5c87da-dirty #248 Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.15.0-0-g2dd4b9b3f840-prebuilt.qemu.org 04/01/2014 RIP: 0010:_ftracesetclreventnolock+0x53/0x1b0 Code: e8 82 26 fc ff 49 8b 1e c7 44 24 0c ea ff ff ff 49 39 de 0f 84 3c 01 00 00 c7 44 24 18 00 00 00 00 e8 61 26 fc ff 48 8b 6b 10 <44> 8b 65 70 4c 8b 6d 18 41 f7 c4 00 02 00 00 75 2f RSP: 0018:ffffc9000159fe00 EFLAGS: 00010293 RAX: 0000000000000000 RBX: ffff88810971d268 RCX: 0000000000000000 RDX: ffff8881080be600 RSI: ffffffff811b48ff RDI: ffff88810971d058 RBP: 0000000000000000 R08: 0000000000000000 R09: 0000000000000001 R10: ffffc9000159fe58 R11: 0000000000000001 R12: ffffffffa0001064 R13: ffffffffa000106c R14: ffff88810971d238 R15: 0000000000000000 FS: 00007f89eeff6540(0000) GS:ffff88813b600000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 0000000000000070 CR3: 000000010599e004 CR4: 0000000000330ef0 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400 Call Trace: <TASK> _ftracesetclrevent+0x3e/0x60 tracearraysetclrevent+0x35/0x50 ? 0xffffffffa0000000 kprobeeventgentestexit+0xcd/0x10b [kprobeeventgentest] _x64sysdeletemodule+0x206/0x380 ? lockdephardirqsonprepare+0xd8/0x190 ? syscallenterfromusermode+0x1c/0x50 dosyscall64+0x3f/0x90 entrySYSCALL64after_hwframe+0x63/0xcd RIP: 0033:0x7f89eeb061b7