Skip to main content
CVE Vulnerability Database
Vulnerability Database/CVE-2026-23334

CVE-2026-23334: Linux Kernel URB Handling Vulnerability

CVE-2026-23334 is a URB handling flaw in the Linux Kernel's f81604 USB CAN driver that causes improper validation of interrupt URB message lengths. This article covers technical details, affected versions, and mitigation.

Updated:

CVE-2026-23334 Overview

CVE-2026-23334 affects the Linux kernel f81604 CAN (Controller Area Network) USB driver. The driver fails to validate the length of interrupt URB (USB Request Block) messages before processing them. When a short interrupt URB arrives, the driver treats the truncated data as valid, leading to undefined behavior in kernel space. The flaw is local in scope and impacts availability of affected systems running vulnerable kernel builds.

The issue was resolved upstream through commits in the stable kernel tree. Affected versions include Linux kernel 6.5 and 7.0 release candidates rc1 through rc7.

Critical Impact

A local attacker with access to USB device interactions can trigger kernel-level denial of service through malformed interrupt URB messages on the f81604 CAN USB driver.

Affected Products

  • Linux kernel 6.5 (stable release)
  • Linux kernel 7.0-rc1 through 7.0-rc7
  • Systems using the f81604 CAN USB driver

Discovery Timeline

  • 2026-03-25 - CVE-2026-23334 published to NVD
  • 2026-04-23 - Last updated in NVD database

Technical Details for CVE-2026-23334

Vulnerability Analysis

The f81604 driver handles CAN bus communication over USB for Fintek F81604 devices. The driver registers an interrupt URB callback that processes status messages from the device. The callback assumes incoming URBs contain a complete, expected payload structure.

When the USB endpoint delivers a short URB containing fewer bytes than the driver expects, the callback proceeds to dereference fields beyond the actual data length. This results in out-of-bounds reads against the URB transfer buffer in kernel memory. The condition produces kernel instability and can trigger a panic depending on the surrounding memory layout.

The fix introduces an explicit length check inside the interrupt completion handler. Short URBs are rejected before any field parsing occurs, preventing the driver from acting on incomplete data.

Root Cause

The root cause is missing input validation on the actual_length field of the received urb structure before accessing payload data. The driver did not enforce a minimum size invariant for interrupt transfers, allowing truncated transfers to advance through the parsing path.

Attack Vector

Exploitation requires local access with the ability to attach or emulate a USB device that binds to the f81604 driver. A crafted device, or a malicious USB peripheral firmware, can issue short interrupt transfers to trigger the flaw. Network-based exploitation is not feasible because the attack surface is bound to the USB subsystem.

No public proof-of-concept exploit is available, and the vulnerability is not listed in the CISA Known Exploited Vulnerabilities catalog.

// No verified exploit code is available for this CVE.
// The vulnerability is described in prose only.
// Refer to the upstream kernel commits for the corrected length validation.

Detection Methods for CVE-2026-23334

Indicators of Compromise

  • Kernel oops or panic entries in dmesg referencing the f81604 driver or can/usb subsystem
  • Unexpected disconnection or rebinding events for USB CAN devices in /var/log/kern.log
  • Repeated short interrupt URB completion events on USB endpoints bound to f81604

Detection Strategies

  • Inventory hosts running Linux kernel 6.5 or 7.0 release candidates and identify systems with the f81604 module loaded using lsmod | grep f81604
  • Correlate kernel ring buffer messages with USB attach events to spot abnormal device behavior
  • Monitor for unauthorized USB device attachments on industrial and embedded systems that rely on CAN connectivity

Monitoring Recommendations

  • Enable USB device authorization policies and log all new device enumeration events through udev
  • Forward kernel logs to a centralized logging system to detect repeated driver faults
  • Track kernel version compliance against the patched stable releases listed in the upstream commits

How to Mitigate CVE-2026-23334

Immediate Actions Required

  • Update affected Linux kernels to the patched stable releases that include the upstream fixes
  • Unload the f81604 module on systems that do not require CAN USB connectivity using modprobe -r f81604
  • Restrict physical and logical USB access on systems handling CAN traffic

Patch Information

The Linux kernel maintainers released fixes across multiple stable branches. Apply the patch referenced in Kernel Git Commit 36ead57, Kernel Git Commit 66615e6, Kernel Git Commit 7299b1b, Kernel Git Commit 9b740ff, and Kernel Git Commit c5d69da. The fix validates the actual_length of incoming interrupt URBs before parsing.

Workarounds

  • Blacklist the f81604 driver where CAN USB devices are not required by adding blacklist f81604 to /etc/modprobe.d/
  • Enforce USB device whitelisting using usbguard to block unauthorized peripherals
  • Apply hardware-based USB port locks on systems where physical access cannot be fully controlled
bash
# Configuration example: blacklist the vulnerable driver until patched
echo "blacklist f81604" | sudo tee /etc/modprobe.d/disable-f81604.conf
sudo modprobe -r f81604
sudo update-initramfs -u

Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.

Default Legacy - Prefooter | Experience the World’s Most Advanced Cybersecurity Platform

Experience the Most Advanced Cybersecurity Platform

See how the world’s most intelligent, autonomous cybersecurity platform can protect your organization today and into the future.