CVE-2021-47633

ath5k: fix OOB in ath5k_eeprom_read_pcal_info_5111

HIGH
7.1
CVSS Score
Published: February 26, 2025 at 01:54 AM UTC
Updated: June 17, 2026 at 04:18 AM UTC
1 product affected across 1 vendorLinux Kernel

Using Linux by Linux?

Get instant alerts when new vulnerabilities affect Linux - before attackers find them.

Real-time alertsTrack your software stackFree plan available
Severity
HIGH7.1
Exploit prediction
EPSS 0.3%

Description

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

Affected

Our own answer: ranges merged, affected separated from platform-only, with confidence and review flags.

2.6.30 ≤ v < 4.14.2762.6.30 ≤ v < 4.19.2382.6.30 ≤ v < 4.9.3112.6.30 ≤ v < 5.10.1112.6.30 ≤ v < 5.15.342.6.30 ≤ v < 5.16.202.6.30 ≤ v < 5.17.32.6.30 ≤ v < 5.182.6.30 ≤ v < 5.4.1894.10 ≤ v < 4.14.2764.15 ≤ v < 4.19.2384.20 ≤ v < 5.4.1895.11 ≤ v < 5.15.345.16 ≤ v < 5.16.205.17 ≤ v < 5.17.35.5 ≤ v < 5.10.1112.6.308e218fb24faef0bfe95bc91b3c05261e20439527
Vendor states this is fixed in 25efc5d03455c3839249bc77fce5e29ecb54677e (fixed)
Vendor states this is fixed in 564d4eceb97eaf381dd6ef6470b06377bb50c95a (fixed)
Vendor states this is fixed in 9d7d83d0399e23d66fd431b553842a84ac10398f (fixed)
Vendor states this is fixed in be2f81024e7981565d90a4c9ca3067d11b6bca7f (fixed)
Vendor states this is fixed in c4e2f577271e158d87a916afb4e87415a88ce856 (fixed)
Vendor states this is fixed in cbd96d6cad6625feba9c8d101ed4977d53e82f8e (fixed)
Vendor states this is fixed in ed3dfdaa8b5f0579eabfc1c5818eed30cfe1fe84 (fixed)
Vendor states this is fixed in f4de974019a0adf34d0e7de6b86252f1bd266b06 (fixed)
Vendor states this is fixed in fc8f7752a82f4accb99c0f1a868906ba1eb7b86f (fixed)
Vendor states this is fixed in 2.6.30 (unaffected)
Vendor states this is fixed in 4.14.276 (unaffected)
Vendor states this is fixed in 4.19.238 (unaffected)
Vendor states this is fixed in 4.9.311 (unaffected)
Vendor states this is fixed in 5.10.111 (unaffected)
Vendor states this is fixed in 5.15.34 (unaffected)
Vendor states this is fixed in 5.16.20 (unaffected)
Vendor states this is fixed in 5.17.3 (unaffected)
Vendor states this is fixed in 5.18 (unaffected)
Vendor states this is fixed in 5.4.189 (unaffected)

References (9)

Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/25efc5d03455c3839249bc77fce5e29ecb54677e
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/564d4eceb97eaf381dd6ef6470b06377bb50c95a
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/9d7d83d0399e23d66fd431b553842a84ac10398f
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/be2f81024e7981565d90a4c9ca3067d11b6bca7f
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/c4e2f577271e158d87a916afb4e87415a88ce856
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/cbd96d6cad6625feba9c8d101ed4977d53e82f8e
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/ed3dfdaa8b5f0579eabfc1c5818eed30cfe1fe84
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/f4de974019a0adf34d0e7de6b86252f1bd266b06

CVSS

Attack Vector
LOCAL
Complexity
LOW
Privileges
LOW
User Interaction
NONE
Scope
UNCHANGED
Confidentiality
HIGH
Integrity
NONE
Availability
HIGH
Vector?

Quick Info

StatusANALYZED
CWE
CWE-125

Get alerted

Stop reading CVE feeds looking for your own stack

Track the products you run and VulnTracker tells you when a new CVE affects them — with what is known about fixing it, and nothing about the rest.

Free plan, no card