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 dtb-xilinxUpgrade kernel-rt-vdsoUpgrade dtb-sprdUpgrade kernel-64kb-extraUpgrade kernel-rt-livepatch-develUpgrade dtb-socionextUpgrade dtb-nvidiaUpgrade kernel-source-vanillaUpgrade kselftests-kmp-rtUpgrade dtb-amdUpgrade gfs2-kmp-defaultUpgrade kernel-rt-develUpgrade dtb-renesasUpgrade dlm-kmp-defaultUpgrade dtb-rockchipUpgrade kernel-rt-extraUpgrade cluster-md-kmp-64kbUpgrade kernel-obs-buildUpgrade kernel-default-livepatch-develUpgrade dtb-mediatekUpgrade kernel-defaultUpgrade dlm-kmp-rtUpgrade kernel-docsUpgrade cluster-md-kmp-defaultUpgrade dtb-armUpgrade kselftests-kmp-defaultUpgrade dtb-broadcomUpgrade kernel-symsUpgrade dtb-amazonUpgrade kselftests-kmp-64kbUpgrade kernel-obs-qaUpgrade kernel-kvmsmall-vdsoUpgrade dtb-exynosUpgrade dtb-alteraUpgrade kernel-develUpgrade kernel-default-develUpgrade dtb-qcomUpgrade dlm-kmp-64kbUpgrade cluster-md-kmp-rtUpgrade gfs2-kmp-64kbUpgrade kernel-default-extraUpgrade ocfs2-kmp-defaultUpgrade kernel-64kb-optionalUpgrade kernel-64kbUpgrade dtb-marvellUpgrade dtb-allwinnerUpgrade ocfs2-kmp-rtUpgrade kernel-kvmsmall-develUpgrade kernel-docs-htmlUpgrade kernel-default-livepatchUpgrade dtb-apmUpgrade kernel-sourceUpgrade dtb-amlogicUpgrade dtb-appleUpgrade kernel-default-optionalUpgrade kernel-64kb-develUpgrade kernel-zfcpdumpUpgrade kernel-rt-livepatchUpgrade kernel-macrosUpgrade gfs2-kmp-rtUpgrade dtb-lgUpgrade ocfs2-kmp-64kbUpgrade kernel-rtUpgrade dtb-freescaleUpgrade dtb-caviumUpgrade kernel-rt-optionalUpgrade kernel-default-vdsoUpgrade dtb-hisiliconUpgrade kernel-kvmsmall | Dec 5, 2025 | Nov 6, 2025 |
| Ubuntu | — | Upgrade linux-image-realtime-hwe-24.04Upgrade linux-image-6.14.0-1015-awsUpgrade linux-image-azureUpgrade linux-image-oem-24.04cUpgrade linux-image-virtual-hwe-24.04Upgrade linux-image-generic-6.14Upgrade linux-image-generic-64k-6.14Upgrade linux-image-gcpUpgrade linux-image-raspiUpgrade linux-image-realtimeUpgrade linux-image-azure-nvidia-6.14Upgrade linux-image-aws-64k-6.14Upgrade linux-image-aws-6.14Upgrade linux-image-realtime-6.14Upgrade linux-image-awsUpgrade linux-image-oracle-64k-6.14Upgrade linux-image-virtual-6.14Upgrade linux-image-gcp-64k-6.14Upgrade linux-image-oracle-64kUpgrade linux-image-gcp-64kUpgrade linux-image-generic-hwe-24.04Upgrade linux-image-6.14.0-1014-oemUpgrade linux-image-6.14.0-1014-realtimeUpgrade linux-image-generic-64k-hwe-24.04Upgrade linux-image-gcp-6.14Upgrade linux-image-6.14.0-1015-aws-64kUpgrade linux-image-oem-24.04aUpgrade linux-image-6.14.0-1016-raspiUpgrade linux-image-6.14.0-1018-gcpUpgrade linux-image-6.14.0-1014-azureUpgrade linux-image-raspi-6.14Upgrade linux-image-oem-24.04Upgrade linux-image-oracleUpgrade linux-image-6.14.0-1018-gcp-64kUpgrade linux-image-generic-64kUpgrade linux-image-genericUpgrade linux-image-6.14.0-1015-oracle-64kUpgrade linux-image-oem-24.04bUpgrade linux-image-6.14.0-34-generic-64kUpgrade linux-image-azure-nvidiaUpgrade linux-image-aws-64kUpgrade linux-image-virtualUpgrade linux-image-6.14.0-1007-azure-nvidiaUpgrade linux-image-oracle-6.14Upgrade linux-image-6.14.0-34-genericUpgrade linux-image-6.14.0-1015-oracleUpgrade linux-image-oem-6.14Upgrade linux-image-azure-6.14 | 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