CVE-2023-52531: wifi: iwlwifi: mvm: Fix a memory corruption issue

Published Mar 2, 2024
·
Updated

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 iwlnvmdata) + sizeof(struct ieee80211channel) + sizeof(struct ieee80211rate)

'mvm->nvmdata' is a 'struct iwlnvmdata', so it is fine.

At the end of this structure, there is the 'channels' flex array. Each element is of type 'struct ieee80211channel'. So only 1 element is allocated in this array.

When doing: mvm->nvmdata->bands[0].channels = mvm->nvmdata->channels; We point at the first element of the 'channels' flex array. So this is fine.

However, when doing: mvm->nvmdata->bands[0].bitrates = (void )((u8 )mvm->nvmdata->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 ieee80211rate' allocated just after.

Remove the spurious casting so that the pointer arithmetic works as expected.

Affected Software

8 affected componentsFixes available
Linux Linux kernel>=3.9<5.15.135
Linux Linux kernel>=5.16<6.1.57
Linux Linux kernel>=6.2<6.5.7
Linux Linux kernel=6.6-rc1
Linux Linux kernel=6.6-rc2
Linux Linux kernel=6.6-rc3
Linux Linux kernel=6.6-rc4
debian/linux<=5.10.223-1, <=5.10.234-1
6.1.129-16.1.135-16.12.25-16.12.27-1

Remediation

Recommended actions to resolve this vulnerability, in priority order.

  1. Upgrade

    Upgrade debian/linux to a version that resolves this vulnerability.

    Fixed in 6.1.129-1Fixed in 6.1.135-1Fixed in 6.12.25-1Fixed in 6.12.27-1
  2. Compensating control

    In the Linux kernel iwlwifi mvm code, remove the spurious (u8 *) cast from the assignment to mvm->nvm_data->bands[0].bitrates so pointer arithmetic advances by sizeof(struct ieee80211_channel) and points to the struct ieee80211_rate allocated after the channels flex array.

Event History

Mar 2, 2024
CVE Published
via MITRE·09:52 PM
Data Sourced
via MITRE·09:52 PM
Description
Oct 31, 2024
Data Sourced
via Launchpad·04:20 PM
Description
Apr 26, 2025
Data Sourced
via Ubuntu·11:49 PM
RemedyDescriptionSeverityAffected Software

Frequently Asked Questions

1

What is the severity of CVE-2023-52531?

CVE-2023-52531 has a high severity level due to the potential for memory corruption in the Linux kernel.

2

How do I fix CVE-2023-52531?

To fix CVE-2023-52531, upgrade to a patched version of the Linux kernel such as 6.1.123-1, 6.1.128-1, or 6.12.12-1.

3

Which versions of the Linux kernel are affected by CVE-2023-52531?

CVE-2023-52531 affects Linux kernel versions from 3.9 up to 6.5.7 and specific release candidates of 6.6.

4

Is CVE-2023-52531 exploitable remotely?

Yes, CVE-2023-52531 could potentially be exploited remotely, depending on the specific configurations of the affected systems.

5

What are the potential impacts of CVE-2023-52531?

The impacts of CVE-2023-52531 can include system crashes and unauthorized access due to memory corruption.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203