{"id":"CVE-2026-98776","title":"binderfs: fix UAF write in binder_add_device","summary":"In the Linux kernel, the following vulnerability has been resolved:\n\nbinderfs: fix UAF write in binder_add_device\n\nbinderfs_binder_device_create() publishes the new dentry with\nd_make_persistent() and then calls simple_done_creating(), w…","severity":"none","vendor":"Linux","product":"Linux","affected":["Linux >= b89aa544821d5018002829fce5d10c9d00cc567f < 885bbbe52d31856768de439e9720f1ffa474a93a","Linux >= b89aa544821d5018002829fce5d10c9d00cc567f < 30d15f44a9e513ec2f257fdf192d9d1fa5af0799","Linux 6.19"],"published":"2026-10-18","updated":"2026-10-18","sourceUpdated":"2026-10-18T15:48:12.661Z","source":"CVEORG","sourceUrl":"https://www.cve.org/CVERecord?id=CVE-2026-98776","references":[{"url":"https://git.kernel.org/stable/c/885bbbe52d31856768de439e9720f1ffa474a93a"},{"url":"https://git.kernel.org/stable/c/30d15f44a9e513ec2f257fdf192d9d1fa5af0799"}],"tags":["cve.org"],"ingestedAt":"2026-10-18T16:47:32.491Z","slug":"CVE-2026-98776","body":"## Overview\n\nIn the Linux kernel, the following vulnerability has been resolved:\n\nbinderfs: fix UAF write in binder_add_device\n\nbinderfs_binder_device_create() publishes the new dentry with\nd_make_persistent() and then calls simple_done_creating(), which drops\nthe parent directory lock and the creator's dentry reference. It then\ncalls binder_add_device() to register the device in the global\nbinder_devices list.\n\nAfter simple_done_creating() releases the parent directory lock, a\nconcurrent unlinkat() can remove the new device entry. Dropping the\ncreator's dentry reference can then trigger binderfs_evict_inode(),\nfreeing the device. binder_add_device() later accesses the freed\nobject, causing UAF write.\n\nFound by a modified Syzkaller:\n\n\tBUG: KASAN: slab-use-after-free in hlist_add_head include/linux/list.h:1073 [inline]\n\tBUG: KASAN: slab-use-after-free in binder_add_device+0xa9/0xc0 drivers/android/binder.c:7068\n\tWrite of size 8 at addr ffff88805b340c00 by task syz.1.532/11389\n\n\tCPU: 0 UID: 0 PID: 11389 Comm: syz.1.532 Not tainted 7.2.0 #4 PREEMPT(full)\n\tHardware name: QEMU Ubuntu 24.04 PC v2 (i440FX + PIIX, arch_caps fix, 1996), BIOS 1.16.3-debian-1.16.3-2 04/01/2014\n\tCall Trace:\n\t<TASK>\n\t__dump_stack lib/dump_stack.c:94 [inline]\n\tdump_stack_lvl+0x10e/0x1f0 lib/dump_stack.c:120\n\tprint_address_description mm/kasan/report.c:378 [inline]\n\tprint_report+0xf7/0x600 mm/kasan/report.c:482\n\tkasan_report+0xe4/0x120 mm/kasan/report.c:595\n\thlist_add_head include/linux/list.h:1073 [inline]\n\tbinder_add_device+0xa9/0xc0 drivers/android/binder.c:7068\n\tbinderfs_binder_device_create.isra.0+0x724/0x990 drivers/android/binderfs.c:196\n\tbinder_ctl_ioctl+0x186/0x1b0 drivers/android/binderfs.c:241\n\tvfs_ioctl fs/ioctl.c:51 [inline]\n\t__do_sys_ioctl fs/ioctl.c:597 [inline]\n\t__se_sys_ioctl fs/ioctl.c:583 [inline]\n\t__x64_sys_ioctl+0x18e/0x210 fs/ioctl.c:583\n\tdo_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]\n\tdo_syscall_64+0x116/0x800 arch/x86/entry/syscall_64.c:94\n\tentry_SYSCALL_64_after_hwframe+0x77/0x7f\n\tRIP: 0033:0x7ff9027a833d\n\tCode: ff c3 66 2e 0f 1f 84 00 00 00 00 00 90 f3 0f 1e fa 48 89 f8 48 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 c7 c1 b0 ff ff ff f7 d8 64 89 01 48\n\tRSP: 002b:00007ff903674018 EFLAGS: 00000246 ORIG_RAX: 0000000000000010\n\tRAX: ffffffffffffffda RBX: 00007ff902a35fa0 RCX: 00007ff9027a833d\n\tRDX: 0000200000000500 RSI: 00000000c1086201 RDI: 0000000000000004\n\tRBP: 00007ff902850733 R08: 0000000000000000 R09: 0000000000000000\n\tR10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000000\n\tR13: 00007ff902a36038 R14: 00007ff902a35fa0 R15: 00007ffd7166bfa0\n\t</TASK>\n\n\tAllocated by task 11389:\n\tkasan_save_stack+0x33/0x60 mm/kasan/common.c:57\n\tkasan_save_track+0x14/0x30 mm/kasan/common.c:78\n\tpoison_kmalloc_redzone mm/kasan/common.c:398 [inline]\n\t__kasan_kmalloc+0xaa/0xb0 mm/kasan/common.c:415\n\tkasan_kmalloc include/linux/kasan.h:263 [inline]\n\t__kmalloc_cache_noprof+0x2e4/0x6f0 mm/slub.c:5489\n\t_kmalloc_noprof include/linux/slab.h:988 [inline]\n\t_kzalloc_noprof include/linux/slab.h:1309 [inline]\n\tbinderfs_binder_device_create.isra.0+0x17a/0x990 drivers/android/binderfs.c:148\n\tbinder_ctl_ioctl+0x186/0x1b0 drivers/android/binderfs.c:241\n\tvfs_ioctl fs/ioctl.c:51 [inline]\n\t__do_sys_ioctl fs/ioctl.c:597 [inline]\n\t__se_sys_ioctl fs/ioctl.c:583 [inline]\n\t__x64_sys_ioctl+0x18e/0x210 fs/ioctl.c:583\n\tdo_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]\n\tdo_syscall_64+0x116/0x800 arch/x86/entry/syscall_64.c:94\n\tentry_SYSCALL_64_after_hwframe+0x77/0x7f\n\n\tFreed by task 11389:\n\tkasan_save_stack+0x33/0x60 mm/kasan/common.c:57\n\tkasan_save_track+0x14/0x30 mm/kasan/common.c:78\n\tkasan_save_free_info+0x3b/0x60 mm/kasan/generic.c:584\n\tpoison_slab_object mm/kasan/common.c:253 [inline]\n\t__kasan_slab_free+0x5f/0x80 mm/kasan/common.c:285\n\tkasan_slab_free include/linux/kasan.h:235 [inline]\n\tslab_free_hook mm/slub.c:2677 [inline]\n\tslab_free mm/slub.c:6377 [inline]\n\tkfree+0x2fc/0x6e0 mm/slub.c:6692\n\tbinderf\n---truncated---\n\n## Affected\n\n- `Linux >= b89aa544821d5018002829fce5d10c9d00cc567f < 885bbbe52d31856768de439e9720f1ffa474a93a`\n- `Linux >= b89aa544821d5018002829fce5d10c9d00cc567f < 30d15f44a9e513ec2f257fdf192d9d1fa5af0799`\n- `Linux 6.19`\n\n## Remediation\n\nRefer to the linked advisories for vendor-supplied fixes and affected version ranges.","depth":"sunlit","depthScore":3,"depthScoreParts":{"impact":2.8,"likelihood":0,"exploitation":0,"ransomware":0},"changes":[]}