CVE-2021-47439 net: dsa: microchip: Added the condition for scheduling ksz_mib_read_work
A null pointer dereference in the Linux kernel Microchip DSA driver causes a crash when removing the module, leading to denial of service.
- Exploited in the wild
- Not known
- Login needed
- Any signed-in user
- Attackable
- Local or same network only
- Victim action needed
- Not needed
- Fix
- Available
What is CVE-2021-47439?
CVE-2021-47439 is a medium-severity vulnerability in Linux kernel, published on 22 May 2024. It can only be exploited from the same machine or local network, with no action from the victim.
Official description
In the Linux kernel, the following vulnerability has been resolved:
net: dsa: microchip: Added the condition for scheduling ksz_mib_read_work
When the ksz module is installed and removed using rmmod, kernel crashes with null pointer dereferrence error. During rmmod, ksz_switch_remove function tries to cancel the mib_read_workqueue using cancel_delayed_work_sync routine and unregister switch from dsa.
During dsa_unregister_switch it calls ksz_mac_link_down, which in turn reschedules the workqueue since mib_interval is non-zero. Due to which queue executed after mib_interval and it tries to access dp->slave. But the slave is unregistered in the ksz_switch_remove function. Hence kernel crashes.
To avoid this crash, before canceling the workqueue, resetted the mib_interval to 0.
v1 -> v2: -Removed the if condition in ksz_mib_read_work
Weakness: CWE-476
Which versions are affected by CVE-2021-47439?
It affects 1 product.
Products include Linux kernel.
How do I fix CVE-2021-47439?
Apply the vendor's patch.
Is CVE-2021-47439 being exploited?
There is no known exploitation of CVE-2021-47439 in the wild and no public exploit code.
Other vulnerabilities in Linux kernel
Sources
Also known as DEBIAN-CVE-2021-47439, GHSA-35q9-qwff-qmh4, UBUNTU-CVE-2021-47439.