"value":"In the Linux kernel, the following vulnerability has been resolved:\n\nllc: call sock_orphan() at release time\n\nsyzbot reported an interesting trace [1] caused by a stale sk->sk_wq\npointer in a closed llc socket.\n\nIn commit ff7b11aa481f (\"net: socket: set sock->sk to NULL after\ncalling proto_ops::release()\")EricBiggershintedthatsomeprotocols\naremissingasock_orphan(),weneedtoperformafullaudit.\n\nInnet-next,Iplantoclearsock->skfromsock_orphan()and\namendEricpatchtoaddawarning.\n\n[1]\nBUG:KASAN:slab-use-after-freeinlist_emptyinclude/linux/list.h:373[inline]\nBUG:KASAN:slab-use-after-freeinwaitqueue_activeinclude/linux/wait.h:127[inline]\nBUG:KASAN:slab-use-after-freeinsock_def_write_space_wfreenet/core/sock.c:3384[inline]\nBUG:KASAN:slab-use-after-freeinsock_wfree+0x9a8/0x9d0net/core/sock.c:2468\nReadofsize8ataddrffff88802f4fc880bytaskksoftirqd/1/27\n\nCPU:1PID:27Comm:ksoftirqd/1Nottainted6.8.0-rc1-syzkaller-00049-g6098d87eaf31#0\nHardwarename:QEMUStandardPC(Q35+ICH9,2009),BIOS1.16.2-debian-1.16.2-104/01/2014\nCallTrace:\n<TASK>\n__dump_stacklib/dump_stack.c:88[inline]\ndump_stack_lvl+0xd9/0x1b0lib/dump_stack.c:106\nprint_address_descriptionmm/kasan/report.c:377[inline]\nprint_report+0xc4/0x620mm/kasan/report.c:488\nkasan_report+0xda/0x110mm/kasan/report.c:601\nlist_emptyinclude/linux/list.h:373[inline]\nwaitqueue_activeinclude/linux/wait.h:127[inline]\nsock_def_write_space_wfreenet/core/sock.c:3384[inline]\nsock_wfree+0x9a8/0x9d0net/core/sock.c:2468\nskb_release_head_state+0xa3/0x2b0net/core/skbuff.c:1080\nskb_release_allnet/core/skbuff.c:1092[inline]\nnapi_consume_skb+0x119/0x2b0net/core/skbuff.c:1404\ne1000_unmap_and_free_tx_resource+0x144/0x200drivers/net/ethernet/intel/e1000/e1000_main.c:1970\ne1000_clean_tx_irqdrivers/net/ethernet/intel/e1000/e1000_main.c:3860[inline]\ne1000_clean+0x4a1/0x26e0drivers/net/ethernet/intel/e1000/e1000_main.c:3801\n__napi_poll.constprop.0+0xb4/0x540net/core/dev.c:6576\nnapi_pollnet/core/dev.c:6645[inline]\nnet_rx_action+0x956/0xe90net/core/dev.c:6778\n__do_softirq+0x21a/0x8dekernel/softirq.c:553\nrun_ksoftirqdkernel/softirq.c:921[inline]\nrun_ksoftirqd+0x31/0x60kernel/softirq.c:913\nsmpboot_thread_fn+0x660/0xa10kernel/smpboot.c:164\nkthread+0x2c6/0x3a0kernel/kthread.c:388\nret_from_fork+0x45/0x80arch/x86/kernel/process.c:147\nret_from_fork_asm+0x11/0x20arch/x86/entry/entry_64.S:242\n</TASK>\n\nAllocatedbytask5167:\nkasan_save_stack+0x33/0x50mm/kasan/common.c:47\nkasan_save_track+0x14/0x30mm/kasan/common.c:68\nunpoison_slab_objectmm/kasan/common.c:314[inline]\n__kasan_slab_alloc+0x81/0x90mm/kasan/common.c:340\nkasan_slab_allocinclude/linux/kasan.h:201[inline]\nslab_post_alloc_hookmm/slub.c:3813[inline]\nslab_alloc_nodemm/slub.c:3860[inline]\nkmem_cache_alloc_lru+0x142/0x6f0mm/slub.c:3879\nalloc_inode_sbinclude/linux/fs.h:3019[inline]\nsock_alloc_inode+0x25/0x1c0net/socket.c:308\nalloc_inode+0x5d/0x220fs/inode.c:260\nnew_inode_pseudo+0x16/0x80fs/inode.c:1005\nsock_alloc+0x40/0x270net/socket.c:634\n__sock_create+0xbc/0x800net/socket.c:1535\nsock_createnet/socket.c:1622[inline]\n__sys_socket_createnet/socket.c:1659[inline]\n__sys_socket+0x14c/0x260net/socket.c:1706\n__do_sys_socketnet/socket.c:1720[inline]\n__se_sys_socketnet/socket.c:1718[inline]\n__x64_sys_socket+0x72/0xb0net/socket.c:1718\ndo_syscall_x64arch/x86/entry/common.c:52[inline]\ndo_syscall_64+0xd3/0x250arch/x86/entry/common.c:83\nentry_SYSCALL_64_after_hwframe+0x63/0x6b\n\nFreedbytask0:\nkasan_save_stack+0x33/0x50mm/kasan/common.c:47\nkasan_save_track+0x14/0x30mm/kasan/common.c:68\nkasan_save_free_info+0x3f/0x60mm/kasan/generic.c:640\npoison_slab_objectmm/kasan/common.c:241[inline]\n__kasan_slab_free+0x121/0x1b0mm/kasan/common.c:257\nkasan_slab_freeinclude/linux/kasan.h:184[inline]\nslab_free_hookmm/slub.c:2121[inlin\n---trunca
"value":"En el kernel de Linux, se resolvi\u00f3 la siguiente vulnerabilidad: llc: llame a sock_orphan() en el momento del lanzamiento syzbot inform\u00f3 un rastro interesante [1] causado por un puntero sk->sk_wq obsoleto en un socket llc cerrado. En El commit ff7b11aa481f (\"net: socket: set sock->sk to NULL after call proto_ops::release()\")EricBiggersinsinu\u00f3queaalgunosprotocoloslesfaltaunsock_orphan(),necesitamosrealizarunaauditor\u00edacompleta.Ennet-next,planeoborrarsock->skdesock_orphan()ymodificarelparchedeEricparaagregarunaadvertencia.[1]ERROR:KASAN:slab-use-after-freeenlist_emptyinclude/linux/list.h:373[enl\u00ednea]ERROR:KASAN:slab-use-after-freeenwaitqueue_activeinclude/linux/wait.h:127[enl\u00ednea]ERROR:KASAN:slab-use-after-freeensock_def_write_space_wfreenet/core/sock.c:3384[enl\u00ednea]ERROR:KASAN:slab-use-after-freeensock_wfree+0x9a8/0x9d0net/core/sock.c:2468Lecturadeltama\u00f1o8enladirecci\u00f3nffff88802f4fc880portareaksoftirqd/1/27CPU:1PID:27Comm:ksoftirqd/1Nottainted6.8.0-rc1-syzkaller-00049-g6098d87eaf31#0Nombredehardware:PCest\u00e1ndarQEMU(Q35+ICH9,2009),BIOS1.16.2-debian-1.16.2-101/04/2014Seguimientodellamadas:__dump_stacklib/dump_stack.c:88[enl\u00ednea]dump_stack_lvl+0xd9/0x1b0lib/dump_stack.c:106print_address_descriptionmm/kasan/report.c:377[enl\u00ednea]print_report+0xc4/0x620mm/kasan/report.c:488kasan_report+0xda/0x110mm/kasan/report.c:601list_emptyinclude/linux/list.h:373[enl\u00ednea]waitqueue_activeinclude/linux/wait.h:127[enl\u00ednea]sock_def_write_space_wfreenet/core/sock.c:3384[enl\u00ednea]sock_wfree+0x9a8/0x9d0net/core/sock.c:2468skb_release_head_state+0xa3/0x2b0net/core/skbuff.c:1080skb_release_allnet/core/skbuff.c:1092[enl\u00ednea]napi_consume_skb+0x119/0x2b0net/core/skbuff.c:1404e1000_unmap_and_free_tx_resource+0x144/0x200drivers/net/ethernet/intel/e1000/e1000_main.c:1970e1000_clean_tx_irqcontroladores/net/ethernet/intel/e1000/e1000_main.c:3860[enl\u00ednea]e1000_clean+0x4a1/0x26e0controladores/net/ethernet/intel/e1000/e1000_main.c:3801__napi_poll.constprop.0+0xb4/0x540net/core/dev.c:6576napi_pollnet/core/dev.c:6645[enl\u00ednea]net_rx_action+0x956/0xe90net/core/dev.c:6778__do_softirq+0x21a/0x8dekernel/softirq.c:553run_ksoftirqdkernel/softirq.c:921[enl\u00ednea]run_ksoftirqd+0x31/0x60kernel/softirq.c:913smpboot_thread_fn+0x660/0xa10kernel/smpboot.c:164kthread+0x2c6/0x3a0kernel/kthread.c:388ret_from_fork+0x45/0x80arch/x86/kernel/process.c:147ret_from_fork_asm+0x11/0x20arch/x86/entry/entry_64.S:242Asignadoportarea5167:kasan_save_stack+0x33/0x50mm/kasan/common.c:47kasan_save_track+0x14/0x30mm/kasan/common.c:68unpoison_slab_objectmm/kasan/common.c:314[enl\u00ednea]__kasan_slab_alloc+0x81/0x90mm/kasan/common.c:340kasan_slab_allocincluir/linux/kasan.h:201[enl\u00ednea]slab_post_alloc_hookmm/slub.c:3813[enl\u00ednea]slab_alloc_nodemm/slub.c:3860[enl\u00ednea]kmem_cache_alloc_lru+0x142/0x6f0mm/slub.c:3879alloc_inode_sbinclude/linux/fs.h:3019[enl\u00ednea]sock_alloc_inode+0x25/0x1c0net/socket.c:308alloc_inode+0x5d/0x220fs/inode.c:260new_inode_pseudo+0x16/0x80fs/inode.c:1005sock_alloc+0x40/0x270net/socket.c:634__sock_create+0xbc/0x800net/socket.c:1535sock_createnet/socket.c:1622[enl\u00ednea]__sys_socket_createnet/socket.c:1659[enl\u00ednea]__sys_socket+0x14c/0x260net/socket.c:1706__do_sys_socketnet/socket.c:1720[enl\u00ednea]__se_sys_socketnet/socket.c:1718[enl\u00ednea]__x64_sys_socket+0x72/0xb0net/socket.c:1718do_syscall_x64arch/x86/entry/common.c:52[enl\u00ednea]do_syscall_64+0xd3/0x250arch/x86/entry/common.c:83Entry_SYSCALL_64_after_hwframe+0x63/0x6bLiberadoporlatarea0:kasan_save_stack+0x33/0x50mm/kasan/common.c:47kasan_save_track+0x14/0x30mm/kasan/common.c:68kasan_save_free_info+0x3f/0x60mm/kasan/generic.c:640veneno_slab_objectmm/kasan/common.c:241[enl\u00ednea]__kasan_slab_free+0x121/0x1b0m