CVE-2021-47633·Kernel vulnerability
In the Linux kernel, the following vulnerability has been resolved: ath5k: fix OOB in ath5k_eeprom_read_pcal_info_5111 The bug was found during fuzzing. Stacktrace locates it in ath5k_eeprom_convert_pcal_info_5111. When none of the curve is selected in the loop, idx can go up to AR5K_EEPROM_N_PD_CURVES. The line makes pd out of bound. pd = &chinfo[pier].pd_curves[idx]; There are many OOB writes using pd later in the code. So I added a sanity check for idx. Checks for other loops involving AR5K_EEPROM_N_PD_CURVES are not needed as the loop index is not used outside the loops. The patch is NOT tested with real device. The following is the fuzzing report BUG: KASAN: slab-out-of-bounds in ath5k_eeprom_read_pcal_info_5111+0x126a/0x1390 [ath5k] Write of size 1 at addr ffff8880174a4d60 by task modprobe/214 CPU: 0 PID: 214 Comm: modprobe Not tainted 5.6.0 #1 Call Trace: dump_stack+0x76/0xa0 print_address_description.constprop.0+0x16/0x200 ? ath5k_eeprom_read_pcal_info_5111+0x126a/0x1390 [ath5k] ? ath5k_eeprom_read_pcal_info_5111+0x126a/0x1390 [ath5k] __kasan_report.cold+0x37/0x7c ? ath5k_eeprom_read_pcal_info_5111+0x126a/0x1390 [ath5k] kasan_report+0xe/0x20 ath5k_eeprom_read_pcal_info_5111+0x126a/0x1390 [ath5k] ? apic_timer_interrupt+0xa/0x20 ? ath5k_eeprom_init_11a_pcal_freq+0xbc0/0xbc0 [ath5k] ? ath5k_pci_eeprom_read+0x228/0x3c0 [ath5k] ath5k_eeprom_init+0x2513/0x6290 [ath5k] ? ath5k_eeprom_init_11a_pcal_freq+0xbc0/0xbc0 [ath5k] ? usleep_range+0xb8/0x100 ? apic_timer_interrupt+0xa/0x20 ? ath5k_eeprom_read_pcal_info_2413+0x2f20/0x2f20 [ath5k] ath5k_hw_init+0xb60/0x1970 [ath5k] ath5k_init_ah+0x6fe/0x2530 [ath5k] ? kasprintf+0xa6/0xe0 ? ath5k_stop+0x140/0x140 [ath5k] ? _dev_notice+0xf6/0xf6 ? apic_timer_interrupt+0xa/0x20 ath5k_pci_probe.cold+0x29a/0x3d6 [ath5k] ? ath5k_pci_eeprom_read+0x3c0/0x3c0 [ath5k] ? mutex_lock+0x89/0xd0 ? ath5k_pci_eeprom_read+0x3c0/0x3c0 [ath5k] local_pci_probe+0xd3/0x160 pci_device_probe+0x23f/0x3e0 ? pci_device_remove+0x280/0x280 ? pci_device_remove+0x280/0x280 really_probe+0x209/0x5d0
- Severity
- high
- Software
- Kernel
- Fixed in
- 5.17.3
- Published
- 2025-02-26
Affected versions
From: 5.17
Until: 5.17.3
Fixed in: 5.17.3
How to fix this CVE
Update your Linux kernel to version 5.17.3 or later to patch an out-of-bounds memory write vulnerability in the ath5k WiFi driver's EEPROM calibration routine. This flaw allows local attackers with standard user privileges to cause a kernel crash or potentially corrupt memory. Apply the kernel update immediately, particularly for systems using Atheros AR5K wireless adapters.
sudo dnf update kernel kernel-develDefensia detects this vulnerability
How to check if you are affected
- Step 1: Check your kernel version by running `uname -r` and compare against the affected range 5.17.0-5.17.2
- Step 2: Verify if ath5k WiFi driver is loaded with `lsmod | grep ath5k` to confirm the vulnerable component is present
- Step 3: Search kernel logs for KASAN errors using `sudo dmesg | grep -i 'ath5k\|slab-out-of-bounds\|kasan' | tail -20`
- Step 4: After applying the update, confirm the new kernel is running with `uname -r` and verify ath5k driver loads without errors using `sudo modprobe ath5k && dmesg | tail -5`
FAQ
What is CVE-2021-47633?
This vulnerability is an out-of-bounds memory write in the ath5k WiFi driver's EEPROM power calibration parsing code that occurs when malformed calibration data fails all curve selection checks, causing the array index to exceed bounds and write to invalid kernel memory.
Is CVE-2021-47633 being actively exploited?
No, this vulnerability is not listed in the CISA Known Exploited Vulnerabilities catalog and no public exploits are available, though it was discovered through fuzzing and affects local privilege escalation scenarios.
What versions of Kernel are affected by CVE-2021-47633?
Linux kernel versions 5.17.0 through 5.17.2 are affected; the vulnerability is patched in version 5.17.3 and later.
How do I check if my server is vulnerable to CVE-2021-47633?
Run `uname -r` to check your kernel version; if it shows 5.17.0, 5.17.1, or 5.17.2, your system is vulnerable. Additionally, run `lsmod | grep ath5k` to confirm the affected driver is loaded.
Does Defensia detect CVE-2021-47633?
Yes — Defensia's CVE advisory scanner compares installed package versions against the NVD database. If the Linux kernel is installed on a monitored server running versions 5.17.0-5.17.2, CVE-2021-47633 will appear in your dashboard with remediation steps.
Related Kernel CVEs
References
- https://git.kernel.org/stable/c/25efc5d03455c3839249bc77fce5e29ecb54677e
- https://git.kernel.org/stable/c/564d4eceb97eaf381dd6ef6470b06377bb50c95a
- https://git.kernel.org/stable/c/9d7d83d0399e23d66fd431b553842a84ac10398f
- https://git.kernel.org/stable/c/be2f81024e7981565d90a4c9ca3067d11b6bca7f
- https://git.kernel.org/stable/c/c4e2f577271e158d87a916afb4e87415a88ce856
Track CVEs across your fleet automatically
Defensia scans your Linux servers and tells you exactly which ones are running vulnerable versions — including CVE-2021-47633. Free for 1 server.
Get started free