In the Linux kernel, the following vulnerability has been resolved:
ksmbd: fix global oob in ksmbd_nl_policy
Similar to a reported issue (check the commit b33fb5b801c6 ("net: qualcomm: rmnet: fix global oob in rmnet_policy"), my local fuzzer finds another global out-of-bounds read for policy ksmbd_nl_policy. See bug trace below:
================================================================== BUG: KASAN: global-out-of-bounds in validate_nla lib/nlattr.c:386 [inline] BUG: KASAN: global-out-of-bounds in __nla_validate_parse+0x24af/0x2750 lib/nlattr.c:600 Read of size 1 at addr ffffffff8f24b100 by task syz-executor.1/62810
CPU: 0 PID: 62810 Comm: syz-executor.1 Tainted: G N 6.1.0 #3 Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.13.0-1ubuntu1.1 04/01/2014 Call Trace: <TASK> __dump_stack lib/dump_stack.c:88 [inline] dump_stack_lvl+0x8b/0xb3 lib/dump_stack.c:106 print_address_description mm/kasan/report.c:284 [inline] print_report+0x172/0x475 mm/kasan/report.c:395 kasan_report+0xbb/0x1c0 mm/kasan/report.c:495 validate_nla lib/nlattr.c:386 [inline] __nla_validate_parse+0x24af/0x2750 lib/nlattr.c:600 __nla_parse+0x3e/0x50 lib/nlattr.c:697 __nlmsg_parse include/net/netlink.h:748 [inline] genl_family_rcv_msg_attrs_parse.constprop.0+0x1b0/0x290 net/netlink/genetlink.c:565 genl_family_rcv_msg_doit+0xda/0x330 net/netlink/genetlink.c:734 genl_family_rcv_msg net/netlink/genetlink.c:833 [inline] genl_rcv_msg+0x441/0x780 net/netlink/genetlink.c:850 netlink_rcv_skb+0x14f/0x410 net/netlink/af_netlink.c:2540 genl_rcv+0x24/0x40 net/netlink/genetlink.c:861 netlink_unicast_kernel net/netlink/af_netlink.c:1319 [inline] netlink_unicast+0x54e/0x800 net/netlink/af_netlink.c:1345 netlink_sendmsg+0x930/0xe50 net/netlink/af_netlink.c:1921 sock_sendmsg_nosec net/socket.c:714 [inline] sock_sendmsg+0x154/0x190 net/socket.c:734 ____sys_sendmsg+0x6df/0x840 net/socket.c:2482 ___sys_sendmsg+0x110/0x1b0 net/socket.c:2536 __sys_sendmsg+0xf3/0x1c0 net/socket.c:2565 do_syscall_x64 arch/x86/entry/common.c:50 [inline] do_syscall_64+0x3b/0x90 arch/x86/entry/common.c:80 entry_SYSCALL_64_after_hwframe+0x63/0xcd RIP: 0033:0x7fdd66a8f359 Code: 28 00 00 00 75 05 48 83 c4 28 c3 e8 f1 19 00 00 90 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 b8 ff ff ff f7 d8 64 89 01 48 RSP: 002b:00007fdd65e00168 EFLAGS: 00000246 ORIG_RAX: 000000000000002e RAX: ffffffffffffffda RBX: 00007fdd66bbcf80 RCX: 00007fdd66a8f359 RDX: 0000000000000000 RSI: 0000000020000500 RDI: 0000000000000003 RBP: 00007fdd66ada493 R08: 0000000000000000 R09: 0000000000000000 R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000000 R13: 00007ffc84b81aff R14: 00007fdd65e00300 R15: 0000000000022000 </TASK>
The buggy address belongs to the variable: ksmbd_nl_policy+0x100/0xa80
The buggy address belongs to the physical page: page:0000000034f47940 refcount:1 mapcount:0 mapping:0000000000000000 index:0x0 pfn:0x1ccc4b flags: 0x200000000001000(reserved|node=0|zone=2) raw: 0200000000001000 ffffea00073312c8 ffffea00073312c8 0000000000000000 raw: 0000000000000000 0000000000000000 00000001ffffffff 0000000000000000 page dumped because: kasan: bad access detected
Memory state around the buggy address: ffffffff8f24b000: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ffffffff8f24b080: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 >ffffffff8f24b100: f9 f9 f9 f9 00 00 f9 f9 f9 f9 f9 f9 00 00 07 f9 ^ ffffffff8f24b180: f9 f9 f9 f9 00 05 f9 f9 f9 f9 f9 f9 00 00 00 05 ffffffff8f24b200: f9 f9 f9 f9 00 00 03 f9 f9 f9 f9 f9 00 00 04 f9 ==================================================================
To fix it, add a placeholder named __KSMBD_EVENT_MAX and let KSMBD_EVENT_MAX to be its original value - 1 according to what other netlink families do. Also change two sites that refer the KSMBD_EVENT_MAX to correct value.
CVSS Details
- CVSS 3.1 Base Score: 7.8
- CVSS 3.1 Vector: (CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H)
Covered by Rapid7
| Product | Vendor Advisory | Solution File | Added | Published |
|---|---|---|---|---|
| Debian | — | Upgrade linux | Jul 30, 2024 | Mar 11, 2024 |
| Ubuntu | — | Upgrade linux-image-6.5.0-1021-nvidia-64kUpgrade linux-image-6.5.0-41-lowlatencyUpgrade linux-image-5.15.0-1058-gkeUpgrade linux-image-6.5.0-1024-oracleUpgrade linux-image-5.15.0-1058-intel-iotgUpgrade linux-image-6.5.0-1017-laptopUpgrade linux-image-5.15.0-1061-awsUpgrade linux-image-6.5.0-41-generic-64kUpgrade linux-image-genericUpgrade linux-image-gke-5.15Upgrade linux-image-lowlatencyUpgrade linux-image-6.5.0-1022-azure-fdeUpgrade linux-image-nvidiaUpgrade linux-image-gkeopUpgrade linux-image-6.5.0-1015-starfiveUpgrade linux-image-nvidia-64k-hwe-22.04Upgrade linux-image-virtualUpgrade linux-image-lowlatency-hwe-22.04Upgrade linux-image-oem-22.04Upgrade linux-image-raspi-nolpaeUpgrade linux-image-generic-64k-hwe-20.04Upgrade linux-image-generic-64k-hwe-22.04Upgrade linux-image-5.15.0-1063-azureUpgrade linux-image-5.15.0-106-generic-lpaeUpgrade linux-image-6.5.0-1021-awsUpgrade linux-image-lowlatency-64k-hwe-20.04Upgrade linux-image-azure-lts-22.04Upgrade linux-image-ibmUpgrade linux-image-6.5.0-1024-oracle-64kUpgrade linux-image-5.15.0-1054-nvidia-lowlatencyUpgrade linux-image-lowlatency-hwe-20.04Upgrade linux-image-6.5.0-41-lowlatency-64kUpgrade linux-image-oracleUpgrade linux-image-generic-lpaeUpgrade linux-image-oem-20.04bUpgrade linux-image-lowlatency-64kUpgrade linux-image-5.15.0-1059-gcpUpgrade linux-image-aws-lts-22.04Upgrade linux-image-gcp-lts-22.04Upgrade linux-image-oem-22.04aUpgrade linux-image-5.15.0-1058-kvmUpgrade linux-image-oem-22.04cUpgrade linux-image-lowlatency-64k-hwe-22.04Upgrade linux-image-6.5.0-41-genericUpgrade linux-image-gcpUpgrade linux-image-nvidia-hwe-22.04Upgrade linux-image-5.15.0-1054-nvidiaUpgrade linux-image-laptop-23.10Upgrade linux-image-oem-22.04dUpgrade linux-image-oem-20.04Upgrade linux-image-6.5.0-1022-azureUpgrade linux-image-gkeop-5.15Upgrade linux-image-intel-iotgUpgrade linux-image-6.5.0-1021-nvidiaUpgrade linux-image-5.15.0-1057-intel-iotgUpgrade linux-image-5.15.0-1059-oracleUpgrade linux-image-oem-20.04dUpgrade linux-image-generic-hwe-20.04Upgrade linux-image-6.5.0-1018-raspiUpgrade linux-image-5.15.0-106-lowlatencyUpgrade linux-image-generic-lpae-hwe-20.04Upgrade linux-image-virtual-hwe-20.04Upgrade linux-image-6.5.0-1022-gcpUpgrade linux-image-azure-fdeUpgrade linux-image-virtual-hwe-22.04Upgrade linux-image-5.15.0-106-genericUpgrade linux-image-azureUpgrade linux-image-5.15.0-1054-ibmUpgrade linux-image-intelUpgrade linux-image-5.15.0-1063-azure-fdeUpgrade linux-image-oem-20.04cUpgrade linux-image-starfiveUpgrade linux-image-awsUpgrade linux-image-5.15.0-1044-gkeopUpgrade linux-image-5.15.0-106-generic-64kUpgrade linux-image-generic-hwe-22.04Upgrade linux-image-nvidia-6.5Upgrade linux-image-nvidia-64k-6.5Upgrade linux-image-oracle-64kUpgrade linux-image-5.15.0-106-lowlatency-64kUpgrade linux-image-generic-64kUpgrade linux-image-kvmUpgrade linux-image-azure-fde-lts-22.04Upgrade linux-image-6.5.0-1024-oemUpgrade linux-image-5.15.0-1054-raspiUpgrade linux-image-oracle-lts-22.04Upgrade linux-image-nvidia-lowlatencyUpgrade linux-image-gkeUpgrade linux-image-raspiUpgrade linux-image-oem-22.04bUpgrade linux-image-azure-cvm | May 17, 2024 | Mar 11, 2024 |
| Vmware Photon_os | — | Use 'tdnf update' to upgrade all packages to the latest version. | Oct 14, 2025 | Feb 29, 2024 |
Prioritise with Active Threat Intelligence
With curated Threat Intelligence, you can see which vulnerabilities truly put you at risk, prioritize what matters most, and act before attackers do.
Explore Intelligence Hub