CVE-2026-43180

net: usb: kaweth: remove TX queue manipulation in kaweth_set_rx_mode

State
Published
Severity
7.8 High
Published
May 6, 2026
Updated
Oct 19, 2026
Reserved
May 1, 2026

Read the record on cve.org

Description

In the Linux kernel, the following vulnerability has been resolved:

net: usb: kaweth: remove TX queue manipulation in kaweth_set_rx_mode

kaweth_set_rx_mode(), the ndo_set_rx_mode callback, calls netif_stop_queue() and netif_wake_queue(). These are TX queue flow control functions unrelated to RX multicast configuration.

The premature netif_wake_queue() can re-enable TX while tx_urb is still in-flight, leading to a double usb_submit_urb() on the same URB:

kaweth_start_xmit() { netif_stop_queue(); usb_submit_urb(kaweth->tx_urb); }

kaweth_set_rx_mode() { netif_stop_queue(); netif_wake_queue(); // wakes TX queue before URB is done }

kaweth_start_xmit() { netif_stop_queue(); usb_submit_urb(kaweth->tx_urb); // URB submitted while active }

This triggers the WARN in usb_submit_urb():

"URB submitted while active"

This is a similar class of bug fixed in rtl8150 by

- commit 958baf5eaee3 ("net: usb: Remove disruptive netif_wake_queue in rtl8150_set_multicast").

Also kaweth_set_rx_mode() is already functionally broken, the real set_rx_mode action is performed by kaweth_async_set_rx_mode(), which in turn is not a no-op only at ndo_open() time.

Scores

CVSSScoreVectorSource
3.17.8 HighCVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:HLinux

Weaknesses

  • CWE-362 Concurrent Execution using Shared Resource with Improper Synchronization ('Race Condition')

Affected Products

ProductVersions
LinuxLinux
  • 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 to before 443a830b1dc4f85c7560da59d4494b629feee215Affected
  • 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 to before 586318c2730433184c6f1d21183e346ddf25e81dAffected
  • 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 to before a2cd4b4db315a845a5603d08c9d03b11ddfc799dAffected
  • 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 to before ef9b10a020503888eb6c8ed85a3d901a624ede4cAffected
  • 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 to before 9c79b839a63980c7da7ec5db895198045e154112Affected
  • 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 to before fc393af769af845d9985e2845e49553d8f015a64Affected
  • 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 to before 8367c0e90126426e60581e4c07e1ec4411a0f843Affected
  • 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 to before 64868f5ecadeb359a49bc4485bfa7c497047f13aAffected
LinuxLinux
  • 2.6.12Affected
  • before 2.6.12Not affected
  • 5.10.252 through 5.10.*Not affected
  • 5.15.202 through 5.15.*Not affected
  • 6.1.165 through 6.1.*Not affected
  • 6.6.128 through 6.6.*Not affected
  • 6.12.75 through 6.12.*Not affected
  • 6.18.16 through 6.18.*Not affected
  • 6.19.6 through 6.19.*Not affected
  • 7.0 and laterNot affected

References

Every record here comes from the CVE Program’s CVE List. © 1999–2026 The MITRE Corporation. CVE is a registered trademark of The MITRE Corporation. The records are reproduced under the CVE Program terms of use.