"value":"In the Linux kernel, the following vulnerability has been resolved:\n\nxsk: fix OOB map writes when deleting elements\n\nJordy says:\n\n\"\nIn the xsk_map_delete_elem function an unsigned integer\n(map->max_entries) is compared with a user-controlled signed integer\n(k). Due to implicit type conversion, a large unsigned value for\nmap->max_entries can bypass the intended bounds check:\n\n\tif (k >= map->max_entries)\n\t\treturn -EINVAL;\n\nThis allows k to hold a negative value (between -2147483648 and -2),\nwhich is then used as an array index in m->xsk_map[k], which results\nin an out-of-bounds access.\n\n\tspin_lock_bh(&m->lock);\n\tmap_entry = &m->xsk_map[k]; // Out-of-bounds map_entry\n\told_xs = unrcu_pointer(xchg(map_entry, NULL)); // Oob write\n\tif (old_xs)\n\t\txsk_map_sock_delete(old_xs, map_entry);\n\tspin_unlock_bh(&m->lock);\n\nThe xchg operation can then be used to cause an out-of-bounds write.\nMoreover, the invalid map_entry passed to xsk_map_sock_delete can lead\nto further memory corruption.\n\"\n\nItindeedresultsinfollowingsplat:\n\n[76612.897343]BUG:unabletohandlepagefaultforaddress:ffffc8fc2e461108\n[76612.904330]#PF:supervisorwriteaccessinkernelmode\n[76612.909639]#PF:error_code(0x0002)-not-presentpage\n[76612.914855]PGD0P4D0\n[76612.917431]Oops:Oops:0002[#1]PREEMPTSMP\n[76612.921859]CPU:11UID:0PID:10318Comm:a.outNottainted6.12.0-rc1+#470\n[76612.929189]Hardwarename:IntelCorporationS2600WFT/S2600WFT,BIOSSE5C620.86B.02.01.0008.03192019155903/19/2019\n[76612.939781]RIP:0010:xsk_map_delete_elem+0x2d/0x60\n[76612.944738]Code:00004154555348632e3b6f2473384c8da7f80000004889fb4c89e7e82dbf0500488db4eb0001000031ff<48>873e4885ff7405e816ffffff4c89e7e83ebc050031\n[76612.963774]RSP:0018:ffffc9002e407df8EFLAGS:00010246\n[76612.969079]RAX:0000000000000000RBX:ffffc9002e461000RCX:0000000000000000\n[76612.976323]RDX:0000000000000001RSI:ffffc8fc2e461108RDI:0000000000000000\n[76612.983569]RBP:ffffffff80000001R08:0000000000000000R09:0000000000000007\n[76612.990812]R10:ffffc9002e407e18R11:ffff888108a38858R12:ffffc9002e4610f8\n[76612.998060]R13:ffff888108a38858R14:00007ffd1ae0ac78R15:ffffc9002e4610c0\n[76613.005303]FS:00007f80b6f59740(0000)GS:ffff8897e0ec0000(0000)knlGS:0000000000000000\n[76613.013517]CS:0010DS:0000ES:0000CR0:0000000080050033\n[76613.019349]CR2:ffffc8fc2e461108CR3:000000011e3ef001CR4:00000000007726f0\n[76613.026595]DR0:0000000000000000DR1:0000000000000000DR2:0000000000000000\n[76613.033841]DR3:0000000000000000DR6:00000000fffe0ff0DR7:0000000000000400\n[76613.041086]PKRU:55555554\n[76613.043842]CallTrace:\n[76613.046331]<TASK>\n[76613.048468]?__die+0x20/0x60\n[76613.051581]?page_fault_oops+0x15a/0x450\n[76613.055747]?search_extable+0x22/0x30\n[76613.059649]?search_bpf_extables+0x5f/0x80\n[76613.063988]?exc_page_fault+0xa9/0x140\n[76613.067975]?asm_exc_page_fault+0x22/0x30\n[76613.072229]?xsk_map_delete_elem+0x2d/0x60\n[76613.076573]?xsk_map_delete_elem+0x23/0x60\n[76613.080914]__sys_bpf+0x19b7/0x23c0\n[76613.084555]__x64_sys_bpf+0x1a/0x20\n[76613.088194]do_syscall_64+0x37/0xb0\n[76613.091832]entry_SYSCALL_64_after_hwframe+0x4b/0x53\n[76613.096962]RIP:0033:0x7f80b6d1e88d\n[76613.100592]Code:5b415cc3660f1f840000000000f30f1efa4889f84889f74889d64889ca4d89c24d89c84c8b4c24080f05<48>3d01f0ffff7301c3488b0d73b50f00f7d864890148\n[76613.119631]RSP:002b:00007ffd1ae0ac68EFLAGS:00000206ORIG_RAX:0000000000000141\n[76613.131330]RAX:ffffffffffffffdaRBX:0000000000000000RCX:00007f80b6d1e88d\n[76613.142632]RDX:0000000000000098RSI:00007ffd1ae0ad20RDI:0000000000000003\n[76613.153967]RBP:00007ffd1ae0adc0R08:0000000000000000R09:0000000000000000\n[76613.166030]R10:00007f80b6f77040R11:0000000000000206R12:00007ffd1ae0aed8\n[76613.177130]R13:000055ddf42ce1e9R14:000055ddf42d0d98R15:00