Description
In the Linux kernel, the following vulnerability has been resolved: usbnet: Prevents free active kevent The root cause of this issue are: 1. When probing the usbnet device, executing usbnet_link_change(dev, 0, 0); put the kevent work in global workqueue. However, the kevent has not yet been scheduled when the usbnet device is unregistered. Therefore, executing free_netdev() results in the "free active object (kevent)" error reported here. 2. Another factor is that when calling usbnet_disconnect()->unregister_netdev(), if the usbnet device is up, ndo_stop() is executed to cancel the kevent. However, because the device is not up, ndo_stop() is not executed. The solution to this problem is to cancel the kevent before executing free_netdev().
Affected products
Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.
Linux Linux
Default version status: unaffected
8b4588b8b00b299be16a35be67b331d8fdba03f3 to < 285d4b953f2ca03c358f986718dd89ee9bde632eaffected135199a2edd459d2b123144efcd7f9bcd95128e4 to < 88a38b135d69f5db9024ff6527232f1b51be8915affected635fd8953e4309b54ca6a81bed1d4a87668694f4 to < 43005002b60ef3424719ecda16d124714b45da3baffecteda69e617e533edddf3fa3123149900f36e0a6dc74 to < 3a10619fdefd3051aeb14860e4d4335529b4e94daffecteda69e617e533edddf3fa3123149900f36e0a6dc74 to < 9a579d6a39513069d298eee70770bbac8a148565affecteda69e617e533edddf3fa3123149900f36e0a6dc74 to < 2ce1de32e05445d77fc056f6ff8339cfb78a5f84affecteda69e617e533edddf3fa3123149900f36e0a6dc74 to < 5158fb8da162e3982940f30cd01ed77bdf42c6fcaffecteda69e617e533edddf3fa3123149900f36e0a6dc74 to < 420c84c330d1688b8c764479e5738bbdbf0a33deaffectedd2d6b530d89b0a912148018027386aa049f0a309affectede2a521a7dcc463c5017b4426ca0804e151faeff7affected7f77dcbc030c2faa6d8e8a594985eeb34018409eaffectedd49bb8cf9bfaa06aa527eb30f1a52a071da2e32faffecteddb3b738ae5f726204876f4303c49cfdf4311403faffected5.4.211 to < 5.4.302affected5.10.137 to < 5.10.247affected5.15.61 to < 5.15.197affected4.9.326 to < 4.10affected4.14.291 to < 4.15affected4.19.256 to < 4.20affected5.18.18 to < 5.19affected5.19.2 to < 5.20affected
Linux Linux
Default version status: affected
6.0affected0 to < 6.0unaffected5.4.302 to ≤ 5.4.*unaffected5.10.247 to ≤ 5.10.*unaffected5.15.197 to ≤ 5.15.*unaffected6.1.159 to ≤ 6.1.*unaffected6.6.117 to ≤ 6.6.*unaffected6.12.58 to ≤ 6.12.*unaffected6.17.8 to ≤ 6.17.*unaffected6.18 to ≤ *unaffected
References
- https://git.kernel.org/stable/c/285d4b953f2ca03c358f986718dd89ee9bde632e ↗
- https://git.kernel.org/stable/c/88a38b135d69f5db9024ff6527232f1b51be8915 ↗
- https://git.kernel.org/stable/c/43005002b60ef3424719ecda16d124714b45da3b ↗
- https://git.kernel.org/stable/c/3a10619fdefd3051aeb14860e4d4335529b4e94d ↗
- https://git.kernel.org/stable/c/9a579d6a39513069d298eee70770bbac8a148565 ↗
- https://git.kernel.org/stable/c/2ce1de32e05445d77fc056f6ff8339cfb78a5f84 ↗
- https://git.kernel.org/stable/c/5158fb8da162e3982940f30cd01ed77bdf42c6fc ↗
- https://git.kernel.org/stable/c/420c84c330d1688b8c764479e5738bbdbf0a33de ↗