"value":"In the Linux kernel, the following vulnerability has been resolved:\n\nnet: defer final 'struct net' free in netns dismantle\n\nIlya reported a slab-use-after-free in dst_destroy [1]\n\nIssue is in xfrm6_net_init() and xfrm4_net_init() :\n\nThey copy xfrm[46]_dst_ops_template into net->xfrm.xfrm[46]_dst_ops.\n\nBut net structure might be freed before all the dst callbacks are\ncalled. So when dst_destroy() calls later :\n\nif (dst->ops->destroy)\n dst->ops->destroy(dst);\n\ndst->ops points to the old net->xfrm.xfrm[46]_dst_ops, which has been freed.\n\nSee a relevant issue fixed in :\n\nac888d58869b (\"net: do not delay dst_entries_add() in dst_release()\")\n\nAfixistoqueuethe'structnet'tobefreedafterone\nanothercleanup_net()round(andexistingrcu_barrier())\n\n[1]\n\nBUG:KASAN:slab-use-after-freeindst_destroy(net/core/dst.c:112)\nReadofsize8ataddrffff8882137ccab0bytaskswapper/37/0\nDec0305:46:18kernel:\nCPU:37UID:0PID:0Comm:swapper/37Kdump:loadedNottainted6.12.0#67\nHardwarename:RedHatKVM/RHEL,BIOS1.16.1-1.el904/01/2014\nCallTrace:\n<IRQ>\ndump_stack_lvl(lib/dump_stack.c:124)\nprint_address_description.constprop.0(mm/kasan/report.c:378)\n?dst_destroy(net/core/dst.c:112)\nprint_report(mm/kasan/report.c:489)\n?dst_destroy(net/core/dst.c:112)\n?kasan_addr_to_slab(mm/kasan/common.c:37)\nkasan_report(mm/kasan/report.c:603)\n?dst_destroy(net/core/dst.c:112)\n?rcu_do_batch(kernel/rcu/tree.c:2567)\ndst_destroy(net/core/dst.c:112)\nrcu_do_batch(kernel/rcu/tree.c:2567)\n?__pfx_rcu_do_batch(kernel/rcu/tree.c:2491)\n?lockdep_hardirqs_on_prepare(kernel/locking/lockdep.c:4339kernel/locking/lockdep.c:4406)\nrcu_core(kernel/rcu/tree.c:2825)\nhandle_softirqs(kernel/softirq.c:554)\n__irq_exit_rcu(kernel/softirq.c:589kernel/softirq.c:428kernel/softirq.c:637)\nirq_exit_rcu(kernel/softirq.c:651)\nsysvec_apic_timer_interrupt(arch/x86/kernel/apic/apic.c:1049arch/x86/kernel/apic/apic.c:1049)\n</IRQ>\n<TASK>\nasm_sysvec_apic_timer_interrupt(./arch/x86/include/asm/idtentry.h:702)\nRIP:0010:default_idle(./arch/x86/include/asm/irqflags.h:37./arch/x86/include/asm/irqflags.h:92arch/x86/kernel/process.c:743)\nCode:004d29c84c01c74c29c2e96effffff9090909090909090909090909090909066900f002dc7c92700fbf4<fa>c3cccccccc66662e0f1f8400000000000f1f400090\nRSP:0018:ffff888100d2fe00EFLAGS:00000246\nRAX:00000000001870edRBX:1ffff110201a5fc2RCX:ffffffffb61a3e46\nRDX:0000000000000000RSI:0000000000000000RDI:ffffffffb3d4d123\nRBP:0000000000000000R08:0000000000000001R09:ffffed11c7e1835d\nR10:ffff888e3f0c1aebR11:0000000000000000R12:0000000000000000\nR13:ffff888100d20000R14:dffffc0000000000R15:0000000000000000\n?ct_kernel_exit.constprop.0(kernel/context_tracking.c:148)\n?cpuidle_idle_call(kernel/sched/idle.c:186)\ndefault_idle_call(./include/linux/cpuidle.h:143kernel/sched/idle.c:118)\ncpuidle_idle_call(kernel/sched/idle.c:186)\n?__pfx_cpuidle_idle_call(kernel/sched/idle.c:168)\n?lock_release(kernel/locking/lockdep.c:467kernel/locking/lockdep.c:5848)\n?lockdep_hardirqs_on_prepare(kernel/locking/lockdep.c:4347kernel/locking/lockdep.c:4406)\n?tsc_verify_tsc_adjust(arch/x86/kernel/tsc_sync.c:59)\ndo_idle(kernel/sched/idle.c:326)\ncpu_startup_entry(kernel/sched/idle.c:423(discriminator1))\nstart_secondary(arch/x86/kernel/smpboot.c:202arch/x86/kernel/smpboot.c:282)\n?__pfx_start_secondary(arch/x86/kernel/smpboot.c:232)\n?soft_restart_cpu(arch/x86/kernel/head_64.S:452)\ncommon_startup_64(arch/x86/kernel/head_64.S:414)\n</TASK>\nDec0305:46:18kernel:\nAllocatedbytask12184:\nkasan_save_stack(mm/kasan/common.c:48)\nkasan_save_track(./arch/x86/include/asm/current.h:49mm/kasan/common.c:60mm/kasan/common.c:69)\n__kasan_slab_alloc(mm/kasan/common.c:319mm/kasan/common.c:345)\nkmem_cache_alloc_noprof(mm/slub.c:4085mm/slub.c:4134mm/slub.c:4141)\ncopy_net_ns(net/core/net_namespace.c:421net/core/net_namespace.c:480)\ncreate_new_namespaces