In the Linux kernel, the following vulnerability has been resolved:
can: kvaser_pciefd: refine error prone echo_skb_max handling logic
echo_skb_max should define the supported upper limit of echo_skb[] allocated inside the netdevice's priv. The corresponding size value provided by this driver to alloc_candev() is KVASER_PCIEFD_CAN_TX_MAX_COUNT which is 17.
But later echo_skb_max is rounded up to the nearest power of two (for the max case, that would be 32) and the tx/ack indices calculated further during tx/rx may exceed the upper array boundary. Kasan reported this for the ack case inside kvaser_pciefd_handle_ack_packet(), though the xmit function has actually caught the same thing earlier.
BUG: KASAN: slab-out-of-bounds in kvaser_pciefd_handle_ack_packet+0x2d7/0x92a drivers/net/can/kvaser_pciefd.c:1528 Read of size 8 at addr ffff888105e4f078 by task swapper/4/0
CPU: 4 UID: 0 PID: 0 Comm: swapper/4 Not tainted 6.15.0 #12 PREEMPT(voluntary) Call Trace: <IRQ> dump_stack_lvl lib/dump_stack.c:122 print_report mm/kasan/report.c:521 kasan_report mm/kasan/report.c:634 kvaser_pciefd_handle_ack_packet drivers/net/can/kvaser_pciefd.c:1528 kvaser_pciefd_read_packet drivers/net/can/kvaser_pciefd.c:1605 kvaser_pciefd_read_buffer drivers/net/can/kvaser_pciefd.c:1656 kvaser_pciefd_receive_irq drivers/net/can/kvaser_pciefd.c:1684 kvaser_pciefd_irq_handler drivers/net/can/kvaser_pciefd.c:1733 __handle_irq_event_percpu kernel/irq/handle.c:158 handle_irq_event kernel/irq/handle.c:210 handle_edge_irq kernel/irq/chip.c:833 __common_interrupt arch/x86/kernel/irq.c:296 common_interrupt arch/x86/kernel/irq.c:286 </IRQ>
Tx max count definitely matters for kvaser_pciefd_tx_avail(), but for seq numbers' generation that's not the case - we're free to calculate them as would be more convenient, not taking tx max count into account. The only downside is that the size of echo_skb[] should correspond to the max seq number (not tx max count), so in some situations a bit more memory would be consumed than could be.
Thus make the size of the underlying echo_skb[] sufficient for the rounded max tx value.
Found by Linux Verification Center (linuxtesting.org) with Syzkaller.
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 23, 2026 | Jul 23, 2026 |
| Suse | — | Upgrade dlm-kmp-64kbUpgrade dtb-hisiliconUpgrade kernel-default-vdsoUpgrade kernel-kvmsmallUpgrade dtb-broadcomUpgrade kernel-macrosUpgrade kernel-rtUpgrade kernel-default-optionalUpgrade kernel-obs-qaUpgrade kernel-docs-htmlUpgrade kernel-zfcpdumpUpgrade dtb-appleUpgrade kernel-rt-optionalUpgrade dtb-freescaleUpgrade dtb-amazonUpgrade dtb-marvellUpgrade dtb-apmUpgrade ocfs2-kmp-rtUpgrade dtb-allwinnerUpgrade kernel-default-livepatchUpgrade kernel-sourceUpgrade ocfs2-kmp-defaultUpgrade dtb-lgUpgrade kernel-64kb-optionalUpgrade gfs2-kmp-rtUpgrade dtb-qcomUpgrade cluster-md-kmp-rtUpgrade kernel-default-develUpgrade ocfs2-kmp-64kbUpgrade kselftests-kmp-64kbUpgrade dtb-amlogicUpgrade kernel-64kbUpgrade dtb-alteraUpgrade dtb-exynosUpgrade kernel-kvmsmall-vdsoUpgrade kernel-kvmsmall-develUpgrade gfs2-kmp-64kbUpgrade kernel-develUpgrade dtb-caviumUpgrade kernel-64kb-develUpgrade kernel-rt-livepatchUpgrade kernel-default-extraUpgrade kernel-symsUpgrade dtb-xilinxUpgrade kernel-default-livepatch-develUpgrade cluster-md-kmp-64kbUpgrade kernel-64kb-extraUpgrade dtb-socionextUpgrade kernel-rt-extraUpgrade cluster-md-kmp-defaultUpgrade kernel-rt-develUpgrade kernel-obs-buildUpgrade kselftests-kmp-rtUpgrade kernel-source-vanillaUpgrade kernel-defaultUpgrade dtb-mediatekUpgrade dlm-kmp-rtUpgrade dtb-rockchipUpgrade dtb-renesasUpgrade dtb-armUpgrade dtb-sprdUpgrade kernel-rt-vdsoUpgrade kselftests-kmp-defaultUpgrade dtb-amdUpgrade dlm-kmp-defaultUpgrade kernel-docsUpgrade gfs2-kmp-defaultUpgrade dtb-nvidiaUpgrade kernel-rt-livepatch-devel | Dec 5, 2025 | Nov 6, 2025 |
| Ubuntu | — | Upgrade linux-image-realtime-hwe-24.04Upgrade linux-image-virtual-hwe-24.04Upgrade linux-image-oracle-64kUpgrade linux-image-6.14.0-1016-raspiUpgrade linux-image-realtime-6.14Upgrade linux-image-gcp-64k-6.14Upgrade linux-image-6.14.0-1015-awsUpgrade linux-image-azureUpgrade linux-image-oem-24.04aUpgrade linux-image-oracle-64k-6.14Upgrade linux-image-gcp-64kUpgrade linux-image-generic-6.14Upgrade linux-image-virtual-6.14Upgrade linux-image-6.14.0-1018-gcpUpgrade linux-image-gcpUpgrade linux-image-6.14.0-1014-azureUpgrade linux-image-aws-64k-6.14Upgrade linux-image-6.14.0-1015-aws-64kUpgrade linux-image-gcp-6.14Upgrade linux-image-generic-64k-hwe-24.04Upgrade linux-image-oem-24.04cUpgrade linux-image-aws-6.14Upgrade linux-image-generic-64k-6.14Upgrade linux-image-6.14.0-1014-oemUpgrade linux-image-raspiUpgrade linux-image-6.14.0-1014-realtimeUpgrade linux-image-generic-hwe-24.04Upgrade linux-image-awsUpgrade linux-image-azure-nvidia-6.14Upgrade linux-image-realtimeUpgrade linux-image-raspi-6.14Upgrade linux-image-aws-64kUpgrade linux-image-6.14.0-1018-gcp-64kUpgrade linux-image-azure-nvidiaUpgrade linux-image-genericUpgrade linux-image-oem-6.14Upgrade linux-image-azure-6.14Upgrade linux-image-generic-64kUpgrade linux-image-oem-24.04Upgrade linux-image-oracleUpgrade linux-image-virtualUpgrade linux-image-6.14.0-1007-azure-nvidiaUpgrade linux-image-oracle-6.14Upgrade linux-image-6.14.0-34-generic-64kUpgrade linux-image-oem-24.04bUpgrade linux-image-6.14.0-1015-oracleUpgrade linux-image-6.14.0-34-genericUpgrade linux-image-6.14.0-1015-oracle-64k | Oct 22, 2025 | Jul 4, 2025 |
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