"value":"In the Linux kernel, the following vulnerability has been resolved:\n\nnetfilter: validate user input for expected length\n\nI got multiple syzbot reports showing old bugs exposed\nby BPF after commit 20f2505fb436 (\"bpf: Try to avoid kzalloc\nin cgroup/{s,g}etsockopt\")\n\nsetsockopt()@optlenargumentshouldbetakenintoaccount\nbeforecopyingdata.\n\nBUG:KASAN:slab-out-of-boundsincopy_from_sockptr_offsetinclude/linux/sockptr.h:49[inline]\nBUG:KASAN:slab-out-of-boundsincopy_from_sockptrinclude/linux/sockptr.h:55[inline]\nBUG:KASAN:slab-out-of-boundsindo_replacenet/ipv4/netfilter/ip_tables.c:1111[inline]\nBUG:KASAN:slab-out-of-boundsindo_ipt_set_ctl+0x902/0x3dd0net/ipv4/netfilter/ip_tables.c:1627\nReadofsize96ataddrffff88802cd73da0bytasksyz-executor.4/7238\n\nCPU:1PID:7238Comm:syz-executor.4Nottainted6.9.0-rc2-next-20240403-syzkaller#0\nHardwarename:GoogleGoogleComputeEngine/GoogleComputeEngine,BIOSGoogle03/27/2024\nCallTrace:\n<TASK>\n__dump_stacklib/dump_stack.c:88[inline]\ndump_stack_lvl+0x241/0x360lib/dump_stack.c:114\nprint_address_descriptionmm/kasan/report.c:377[inline]\nprint_report+0x169/0x550mm/kasan/report.c:488\nkasan_report+0x143/0x180mm/kasan/report.c:601\nkasan_check_range+0x282/0x290mm/kasan/generic.c:189\n__asan_memcpy+0x29/0x70mm/kasan/shadow.c:105\ncopy_from_sockptr_offsetinclude/linux/sockptr.h:49[inline]\ncopy_from_sockptrinclude/linux/sockptr.h:55[inline]\ndo_replacenet/ipv4/netfilter/ip_tables.c:1111[inline]\ndo_ipt_set_ctl+0x902/0x3dd0net/ipv4/netfilter/ip_tables.c:1627\nnf_setsockopt+0x295/0x2c0net/netfilter/nf_sockopt.c:101\ndo_sock_setsockopt+0x3af/0x720net/socket.c:2311\n__sys_setsockopt+0x1ae/0x250net/socket.c:2334\n__do_sys_setsockoptnet/socket.c:2343[inline]\n__se_sys_setsockoptnet/socket.c:2340[inline]\n__x64_sys_setsockopt+0xb5/0xd0net/socket.c:2340\ndo_syscall_64+0xfb/0x240\nentry_SYSCALL_64_after_hwframe+0x72/0x7a\nRIP:0033:0x7fd22067dde9\nCode:2800000075054883c428c3e8e1200000904889f84889f74889d64889ca4d89c24d89c84c8b4c24080f05<48>3d01f0ffff7301c348c7c1b0fffffff7d864890148\nRSP:002b:00007fd21f9ff0c8EFLAGS:00000246ORIG_RAX:0000000000000036\nRAX:ffffffffffffffdaRBX:00007fd2207abf80RCX:00007fd22067dde9\nRDX:0000000000000040RSI:0000000000000000RDI:0000000000000003\nRBP:00007fd2206ca47aR08:0000000000000001R09:0000000000000000\nR10:0000000020000880R11:0000000000000246R12:0000000000000000\nR13:000000000000000bR14:00007fd2207abf80R15:00007ffd2d0170d8\n</TASK>\n\nAllocatedbytask7238:\nkasan_save_stackmm/kasan/common.c:47[inline]\nkasan_save_track+0x3f/0x80mm/kasan/common.c:68\npoison_kmalloc_redzonemm/kasan/common.c:370[inline]\n__kasan_kmalloc+0x98/0xb0mm/kasan/common.c:387\nkasan_kmallocinclude/linux/kasan.h:211[inline]\n__do_kmalloc_nodemm/slub.c:4069[inline]\n__kmalloc_noprof+0x200/0x410mm/slub.c:4082\nkmalloc_noprofinclude/linux/slab.h:664[inline]\n__cgroup_bpf_run_filter_setsockopt+0xd47/0x1050kernel/bpf/cgroup.c:1869\ndo_sock_setsockopt+0x6b4/0x720net/socket.c:2293\n__sys_setsockopt+0x1ae/0x250net/socket.c:2334\n__do_sys_setsockoptnet/socket.c:2343[inline]\n__se_sys_setsockoptnet/socket.c:2340[inline]\n__x64_sys_setsockopt+0xb5/0xd0net/socket.c:2340\ndo_syscall_64+0xfb/0x240\nentry_SYSCALL_64_after_hwframe+0x72/0x7a\n\nThebuggyaddressbelongstotheobjectatffff88802cd73da0\nwhichbelongstothecachekmalloc-8ofsize8\nThebuggyaddressislocated0bytesinsideof\nallocated1-byteregion[ffff88802cd73da0,ffff88802cd73da1)\n\nThebuggyaddressbelongstothephysicalpage:\npage:refcount:1mapcount:0mapping:0000000000000000index:0xffff88802cd73020pfn:0x2cd73\nflags:0xfff80000000000(node=0|zone=1|lastcpupid=0xfff)\npage_type:0xffffefff(slab)\nraw:00fff80000000000ffff888015041280dead000000000100dead000000000122\nraw:ffff88802cd73020000000008080007f00000001ffffefff00\n---truncated---
"value":"En el kernel de Linux, se resolvi\u00f3 la siguiente vulnerabilidad: netfilter: validar la entrada del usuario para la longitud esperada. Recib\u00ed varios informes de syzbot que muestran errores antiguos expuestos por BPF despu\u00e9s de la confirmaci\u00f3n 20f2505fb436 (\"bpf: intente evitar kzalloc en cgroup/{s,g} etsockopt\")setsockopt()Elargumento@optlendebetenerseencuentaantesdecopiardatos.ERROR:KASAN:losafueradel\u00edmitesencopy_from_sockptr_offsetinclude/linux/sockptr.h:49[enl\u00ednea]ERROR:KASAN:losafueradel\u00edmitesencopy_from_sockptrinclude/linux/sockptr.h:55[enl\u00ednea]ERROR:KASAN:losafueradelosl\u00edmitesendo_replacenet/ipv4/netfilter/ip_tables.c:1111[enl\u00ednea]ERROR:KASAN:losafueradelosl\u00edmitesendo_ipt_set_ctl+0x902/0x3dd0net/ipv4/netfilter/ip_tables.c:1627Lecturadeltama\u00f1o96enladirecci\u00f3nffff88802cd73da0mediantelatareasyz-executor.4/7238CPU:1PID:7238Comm:syz-executor.4Nocontaminado6.9.0-rc2-next-20240403-syzkaller#0Hardwarenombre:GoogleGoogleComputeEngine/GoogleComputeEngine,BIOSGoogle27/03/2024Seguimientodellamadas:__dump_stacklib/dump_stack.c:88[enl\u00ednea]dump_stack_lvl+0x241/0x360lib/dump_stack.c:114print_address_descriptionmm/kasan/report.c:377[enl\u00ednea]print_report+0x169/0x550mm/kasan/report.c:488kasan_report+0x143/0x180mm/kasan/report.c:601kasan_check_range+0x282/0x290mm/kasan/generic.c:189__asan_memcpy+0x29/0x70mm/kasan/shadow.c:105copy_from_sockptr_offsetinclude/linux/sockptr.h:49[enl\u00ednea]copy_from_sockptrinclude/linux/sockptr.h:55[enl\u00ednea]do_replacenet/ipv4/netfilter/ip_tables.c:1111[enl\u00ednea]do_ipt_set_ctl+0x902/0x3dd0net/ipv4/netfilter/ip_tables.c:1627nf_setsockopt+0x295/0x2c0net/netfilter/nf_sockopt.c:101do_sock_setsockopt+0x3af/0x720net/socket.c:2311__sys_setsockopt+0x1ae/0x250net/socket.c:2334__do_sys_setsockoptnet/socket.c:2343[enl\u00ednea]__se_sys_setsockoptnet/socket.c:2340[enl\u00ednea]__x64_sys_setsockopt+0xb5/0xd0net/socket.c:2340+0xfb/0x240Entry_SYSCALL_64_after_hwframe+0x72/0x7aRIP:0033:0x7fd22067dde9C\u00f3digo:2800000075054883c428c3e8e1200000904889f84889f74889d64889ca4d89c24d89c84c8b4c24080f05<48>3d01f0ffff7301c348c7c1b0fffffff7d864890148RSP:002b:00007fd21f9ff0c8EFLAGS:00000246ORIG_RAX:0000000000000036RAX:ffffffffffffffdaRBX:00007fd2207abf80RCX:00007fd22067dde9RDX:0000000000000040RSI:0000000000000000RDI:0000000000000003RBP:00007fd2206ca47aR08:0000000000000001R09:0000000000000000R10:0000000020000880R11:0000000000000246R12:0000000000000000R13:000000000000000bR14:00007fd2207abf80R15:00007ffd2d0170d8Asignadoporlatarea7238:kasan_save_stackmm/kasan/common.c:47[enl\u00ednea]kasan_save_track+0x3f/0x80mm/kasan/common.c:68poison_kmalloc_redzonemm/kasan/common.c:370[enl\u00ednea]__kasan_kmalloc+0x98/0xb0mm/kasan/common.c:387kasan_kmallocinclude/linux/kasan.h:211[enl\u00ednea]__do_kmalloc_nodemm/slub.c:4069[inline]__kmalloc_noprof+0x200/0x410mm/slub.c:4082kmalloc_noproofinclude/linux/slab.h:664[inline]__cgraGrempf_filup47/0x1050kernel/bpf/cgroup.c:1869do_sock_setsockopt+0x6b4/0x720net/socket.c:2293__sys_setsockopt+0x1ae/0x250net/socket.c:2334__do_sys_setsockoptnet/socket.c:2343__se_sys_setsockoptnet/socket.c:2340[enl\u00ednea]__x64_sys_setsockopt+0xb5/0xd0net/socket.c:2340do_syscall_64+0xfb/0x240Entry_SYSCALL_64_after_hwframe+0x72/0x7aLadirecci\u00f3nconerrorespertenecealobjetoenffff88802cd73da0quepertenecealcach\u00e9kmalloc-8detalla8elcochecitoLadirecci\u00f3nseencuentraa0bytesdentrodelaregi\u00f3nasignadade1byte[ffff88802cd73da0,ffff88802cd73da1)Ladirecci\u00f3nconerrorespertenecealap\u00e1ginaf\u00edsica:p\u00e1gina:refcount:1mapcount:0mapeo:00000000000000000index:0xffff88802cd73020pfn:0x2cd73flags:0xfff80000000000(nodo=0|zone=1|lastcpupid=0xfff)tipodep\u00e1gina: