wifi: virt_wifi: don't transfer operstate before register
- Published
- Last modified
- Where the record stands: published, rejected by its publisher, or superseded by another id.What do these mean? →
- published
- Whether CISA lists it in its Known Exploited Vulnerabilities catalog: proof that attackers are using it.What do these mean? →
- Not listed in CISA KEV
- Fix
- Fixed in 5.10.271, 5.15.222, 6.1.189, 6.6.158, 6.12.112, and 2 more
- Whether working attack code is public (Exploit-DB, Metasploit, Nuclei or GitHub). Public code makes attacks easier.What do these mean? →
- None on Exploit-DB, Metasploit or GitHub
Summary
In the Linux kernel, the following vulnerability has been resolved: wifi: virt_wifi: don't transfer operstate before register virt_wifi_newlink() calls netif_stacked_transfer_operstate() before register_netdevice(). If the lower device is dormant, that queues the new netdev on lweventlist while it is still uninitialized. If registration fails after that, for example because of an invalid name such as "bad/name", free_netdev() immediately frees the object. A later linkwatch_fire_event() then use-after-frees the list entry. Move the transfer to after netdev_upper_dev_link(), as macvlan and ipvlan already do.
Timeline
- CVE published
- Record last updated
Affected versions
- Linux Linux
From c7cdba31ed8b87526db978976392802d3f93110c · fixed in ee9ea1afd6990def51d52b3a0aecd5cfcc951da0; From c7cdba31ed8b87526db978976392802d3f93110c · fixed in 9ce26201f6dedf3fa02b97da8c67ee6f6c5f7225; From c7cdba31ed8b87526db978976392802d3f93110c · fixed in f9526054c2b2cace5916b7225603d008834ec011; From c7cdba31ed8b87526db978976392802d3f93110c · fixed in e8304e25c6dabb8accf38b807969438d0ce84fd7; From c7cdba31ed8b87526db978976392802d3f93110c · fixed in ca49763c42c1089d654bf11b037980a9ede3772c; From c7cdba31ed8b87526db978976392802d3f93110c · fixed in 293c56a66510bb7de073a1aba388e38abddff1fb; From c7cdba31ed8b87526db978976392802d3f93110c · fixed in b808a9af5fd21f9c68b0d024eda7535b5dce6a4e; From c7cdba31ed8b87526db978976392802d3f93110c · fixed in e5c8d7acd31b27057ea42cd405d0b3ece097bc89
- Linux Linux
5.0
- KernelLinux
From 5.0.0 · fixed in 5.10.271; From 5.11.0 · fixed in 5.15.222; From 5.16.0 · fixed in 6.1.189; From 6.2.0 · fixed in 6.6.158; From 6.7.0 · fixed in 6.12.112; From 6.13.0 · fixed in 6.18.54; From 6.19.0 · fixed in 7.2.8
References 8
git.kernel.org
- stable/c/ee9ea1afd6990def51d52b3a0aecd5cfcc951da0
- stable/c/9ce26201f6dedf3fa02b97da8c67ee6f6c5f7225
- stable/c/f9526054c2b2cace5916b7225603d008834ec011
- stable/c/e8304e25c6dabb8accf38b807969438d0ce84fd7
- stable/c/ca49763c42c1089d654bf11b037980a9ede3772c
- stable/c/293c56a66510bb7de073a1aba388e38abddff1fb
- stable/c/b808a9af5fd21f9c68b0d024eda7535b5dce6a4e
- stable/c/e5c8d7acd31b27057ea42cd405d0b3ece097bc89