{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2023-53589","assignerOrgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","state":"PUBLISHED","assignerShortName":"Linux","dateReserved":"2025-10-04T15:40:38.478Z","datePublished":"2025-10-04T15:44:04.047Z","dateUpdated":"2026-08-05T09:14:59.706Z"},"containers":{"cna":{"providerMetadata":{"orgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","shortName":"Linux","dateUpdated":"2026-08-05T09:14:59.706Z"},"descriptions":[{"lang":"en","value":"In the Linux kernel, the following vulnerability has been resolved:\n\nwifi: iwlwifi: mvm: don't trust firmware n_channels\n\nIf the firmware sends us a corrupted MCC response with\nn_channels much larger than the command response can be,\nwe might copy far too much (uninitialized) memory and\neven crash if the n_channels is large enough to make it\nrun out of the one page allocated for the FW response.\n\nFix that by checking the lengths. Doing a < comparison\nwould be sufficient, but the firmware should be doing\nit correctly, so check more strictly."}],"metrics":[{"cvssV3_1":{"version":"3.1","vectorString":"CVSS:3.1/AV:A/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","baseScore":8.8,"baseSeverity":"HIGH"},"scenarios":[{"lang":"en","value":"AV:A - The vulnerable MCC update path is driven over the air — the firmware derives the MCC from 802.11d country IEs in received beacons and notifies the driver via MCC_CHUB_UPDATE_CMD, so an attacker within WiFi range selects the input that drives this code and, in the firmware-compromise case (a real over-the-air class for WiFi NICs), controls the malformed response itself. This matches the adjacent scoring used for equivalent unvalidated-WiFi-firmware-event bugs such as the brcmfmac IF event validation CVE.\nAC:L - Triggering is fully deterministic — a single n_channels field inconsistent with the packet length is enough, with no race to win, no memory-layout grooming, and no victim state dependency. The path executes automatically on every regulatory/MCC update.\nPR:N - No credentials or association are required; iwl_mvm_rx_chub_update_mcc() explicitly bails out when the interface is associated, so the vulnerable path runs precisely in the unauthenticated, pre-association state, and also runs unconditionally during driver init.\nUI:N - Regulatory/MCC updates are processed automatically on beacon reception and at interface bring-up with no user action whatsoever.\nS:U - The out-of-bounds read and write both occur in kernel memory within the same security authority; no VM, IOMMU, or sandbox boundary is crossed.\nC:H - n_channels is unbounded, so the copy reads arbitrarily far past the one-page FW response buffer into adjacent kernel memory, and the copied uninitialized data is turned into regulatory rules that any unprivileged user can read back via NL80211_CMD_GET_REG.\nI:H - resp_len is an int while n_channels * sizeof(__le32) is size_t, so n_channels around 0x40000000 truncates the allocation to a few bytes while the subsequent memcpy() length stays at ~4 GB, producing a heap out-of-bounds write that destroys large amounts of kernel memory.\nA:H - The oversized copy runs off the allocated RX page and the undersized destination buffer, causing a guaranteed kernel oops/panic — exactly the crash the commit message describes."}]}],"affected":[{"product":"Linux","vendor":"Linux","defaultStatus":"unaffected","repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/net/wireless/intel/iwlwifi/mvm/nvm.c"],"versions":[{"version":"dcaf9f5ecb6f395152609bdc40660d9b593dca63","lessThan":"e519a404a5bbba37693cb10fa61794a5fce4fd9b","status":"affected","versionType":"git"},{"version":"dcaf9f5ecb6f395152609bdc40660d9b593dca63","lessThan":"d0d39bed9e95f27a246be91c5929254ac043ed30","status":"affected","versionType":"git"},{"version":"dcaf9f5ecb6f395152609bdc40660d9b593dca63","lessThan":"05ad5a4d421ce65652fcb24d46b7e273130240d6","status":"affected","versionType":"git"},{"version":"dcaf9f5ecb6f395152609bdc40660d9b593dca63","lessThan":"557ba100d8cf3661ff8d71c0b4a2cba8db555ec2","status":"affected","versionType":"git"},{"version":"dcaf9f5ecb6f395152609bdc40660d9b593dca63","lessThan":"c176f03350954b795322de0bfe1d7b514db41f45","status":"affected","versionType":"git"},{"version":"dcaf9f5ecb6f395152609bdc40660d9b593dca63","lessThan":"682b6dc29d98e857e6ca4bbc077c7dc2899b7473","status":"affected","versionType":"git"}]},{"product":"Linux","vendor":"Linux","defaultStatus":"affected","repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/net/wireless/intel/iwlwifi/mvm/nvm.c"],"versions":[{"version":"4.1","status":"affected"},{"version":"0","lessThan":"4.1","status":"unaffected","versionType":"semver"},{"version":"5.4.244","lessThanOrEqual":"5.4.*","status":"unaffected","versionType":"semver"},{"version":"5.10.181","lessThanOrEqual":"5.10.*","status":"unaffected","versionType":"semver"},{"version":"5.15.113","lessThanOrEqual":"5.15.*","status":"unaffected","versionType":"semver"},{"version":"6.1.30","lessThanOrEqual":"6.1.*","status":"unaffected","versionType":"semver"},{"version":"6.3.4","lessThanOrEqual":"6.3.*","status":"unaffected","versionType":"semver"},{"version":"6.4","lessThanOrEqual":"*","status":"unaffected","versionType":"original_commit_for_fix"}]}],"cpeApplicability":[{"nodes":[{"operator":"OR","negate":false,"cpeMatch":[{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"4.1","versionEndExcluding":"5.4.244"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"4.1","versionEndExcluding":"5.10.181"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"4.1","versionEndExcluding":"5.15.113"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"4.1","versionEndExcluding":"6.1.30"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"4.1","versionEndExcluding":"6.3.4"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"4.1","versionEndExcluding":"6.4"}]}]}],"references":[{"url":"https://git.kernel.org/stable/c/e519a404a5bbba37693cb10fa61794a5fce4fd9b"},{"url":"https://git.kernel.org/stable/c/d0d39bed9e95f27a246be91c5929254ac043ed30"},{"url":"https://git.kernel.org/stable/c/05ad5a4d421ce65652fcb24d46b7e273130240d6"},{"url":"https://git.kernel.org/stable/c/557ba100d8cf3661ff8d71c0b4a2cba8db555ec2"},{"url":"https://git.kernel.org/stable/c/c176f03350954b795322de0bfe1d7b514db41f45"},{"url":"https://git.kernel.org/stable/c/682b6dc29d98e857e6ca4bbc077c7dc2899b7473"}],"title":"wifi: iwlwifi: mvm: don't trust firmware n_channels","x_generator":{"engine":"bippy-1.2.0"}}}}