CVE-2023-52531·Kernel vulnerability
In the Linux kernel, the following vulnerability has been resolved: wifi: iwlwifi: mvm: Fix a memory corruption issue A few lines above, space is kzalloc()'ed for: sizeof(struct iwl_nvm_data) + sizeof(struct ieee80211_channel) + sizeof(struct ieee80211_rate) 'mvm->nvm_data' is a 'struct iwl_nvm_data', so it is fine. At the end of this structure, there is the 'channels' flex array. Each element is of type 'struct ieee80211_channel'. So only 1 element is allocated in this array. When doing: mvm->nvm_data->bands[0].channels = mvm->nvm_data->channels; We point at the first element of the 'channels' flex array. So this is fine. However, when doing: mvm->nvm_data->bands[0].bitrates = (void *)((u8 *)mvm->nvm_data->channels + 1); because of the "(u8 *)" cast, we add only 1 to the address of the beginning of the flex array. It is likely that we want point at the 'struct ieee80211_rate' allocated just after. Remove the spurious casting so that the pointer arithmetic works as expected.
- Severity
- high
- Software
- Kernel
- Fixed in
- 6.5.7
- Published
- 2024-03-02
Affected versions
From: 6.2
Until: 6.5.7
Fixed in: 6.5.7
How to fix this CVE
Update your Linux kernel to version 6.5.7 or later to resolve a memory corruption vulnerability in the iwlwifi driver's network virtual machine module. This issue affects pointer arithmetic in the wireless NVM data structure initialization and requires a kernel update followed by a system reboot.
sudo dnf update kernel kernel-devel && sudo rebootDefensia detects this vulnerability
How to check if you are affected
- Check your current kernel version: uname -r
- Verify if iwlwifi module is loaded: lsmod | grep iwlwifi (if output is empty, the vulnerable component is not active)
- Review kernel logs for memory corruption errors: sudo dmesg | grep -i 'memory\|corruption\|iwlwifi' or sudo journalctl -b | grep -i 'memory\|corruption\|iwlwifi'
- After patching, confirm the new kernel version is running: uname -r (should be 6.5.7 or higher)
FAQ
What is CVE-2023-52531?
CVE-2023-52531 is a memory corruption vulnerability in the Linux kernel's iwlwifi wireless driver module. Incorrect pointer arithmetic when initializing network virtual machine data structures can cause memory to be written to unintended locations in the allocated buffer.
Is CVE-2023-52531 being actively exploited?
No, this vulnerability is not listed on the CISA Known Exploited Vulnerabilities catalog and no public exploits are available as of the latest advisory.
What versions of Kernel are affected by CVE-2023-52531?
Linux kernel versions 6.2 through 6.5.6 are affected. Kernel 6.5.7 and later contain the fix.
How do I check if my server is vulnerable to CVE-2023-52531?
Run 'uname -r' to check your kernel version. If the output is between 6.2 and 6.5.6 and iwlwifi is loaded (verify with 'lsmod | grep iwlwifi'), your system is vulnerable.
Does Defensia detect CVE-2023-52531?
Yes — Defensia's CVE advisory scanner compares installed package versions against the NVD database. If the Linux kernel package is installed on a monitored server, CVE-2023-52531 will appear in your dashboard with remediation steps.
Related Kernel CVEs
References
- https://git.kernel.org/stable/c/6b3223449c959a8be94a1f042288059e40fcccb0
- https://git.kernel.org/stable/c/7c8faa31080342aec4903c9acb20caf82fcca1ef
- https://git.kernel.org/stable/c/8ba438ef3cacc4808a63ed0ce24d4f0942cfe55d
- https://git.kernel.org/stable/c/f06cdd8d4ba5252986f51f80cc30263636397128
- https://git.kernel.org/stable/c/6b3223449c959a8be94a1f042288059e40fcccb0
Track CVEs across your fleet automatically
Defensia scans your Linux servers and tells you exactly which ones are running vulnerable versions — including CVE-2023-52531. Free for 1 server.
Get started free