CVE-2021-47633

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
Configurations

Configuration 1 (hide)

OR cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*

History

23 Sep 2025, 14:55

Type Values Removed Values Added
Summary
  • (es) En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: ath5k: corrección de OOB en ath5k_eeprom_read_pcal_info_5111 El error se encontró durante el fuzzing. Stacktrace lo ubica en ath5k_eeprom_convert_pcal_info_5111. Cuando no se selecciona ninguna de las curvas en el bucle, idx puede llegar hasta AR5K_EEPROM_N_PD_CURVES. La línea hace que pd esté fuera de los límites. pd = &chinfo[pier].pd_curves[idx]; Hay muchas escrituras OOB que usan pd más adelante en el código. Así que agregué una verificación de cordura para idx. No se necesitan verificaciones para otros bucles que involucran AR5K_EEPROM_N_PD_CURVES ya que el índice del bucle no se usa fuera de los bucles. El parche NO se prueba con un dispositivo real. El siguiente es el informe de fuzzing ERROR: KASAN: slab-out-of-limits en ath5k_eeprom_read_pcal_info_5111+0x126a/0x1390 [ath5k] Escritura de tamaño 1 en la dirección ffff8880174a4d60 por la tarea modprobe/214 CPU: 0 PID: 214 Comm: modprobe No contaminado 5.6.0 #1 Seguimiento de llamadas: 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 realmente_probe+0x209/0x5d0
CVSS v2 : unknown
v3 : unknown
v2 : unknown
v3 : 7.1
CWE CWE-125
CPE cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
References () https://git.kernel.org/stable/c/25efc5d03455c3839249bc77fce5e29ecb54677e - () https://git.kernel.org/stable/c/25efc5d03455c3839249bc77fce5e29ecb54677e - Patch
References () https://git.kernel.org/stable/c/564d4eceb97eaf381dd6ef6470b06377bb50c95a - () https://git.kernel.org/stable/c/564d4eceb97eaf381dd6ef6470b06377bb50c95a - Patch
References () https://git.kernel.org/stable/c/9d7d83d0399e23d66fd431b553842a84ac10398f - () https://git.kernel.org/stable/c/9d7d83d0399e23d66fd431b553842a84ac10398f - Patch
References () https://git.kernel.org/stable/c/be2f81024e7981565d90a4c9ca3067d11b6bca7f - () https://git.kernel.org/stable/c/be2f81024e7981565d90a4c9ca3067d11b6bca7f - Patch
References () https://git.kernel.org/stable/c/c4e2f577271e158d87a916afb4e87415a88ce856 - () https://git.kernel.org/stable/c/c4e2f577271e158d87a916afb4e87415a88ce856 - Patch
References () https://git.kernel.org/stable/c/cbd96d6cad6625feba9c8d101ed4977d53e82f8e - () https://git.kernel.org/stable/c/cbd96d6cad6625feba9c8d101ed4977d53e82f8e - Patch
References () https://git.kernel.org/stable/c/ed3dfdaa8b5f0579eabfc1c5818eed30cfe1fe84 - () https://git.kernel.org/stable/c/ed3dfdaa8b5f0579eabfc1c5818eed30cfe1fe84 - Patch
References () https://git.kernel.org/stable/c/f4de974019a0adf34d0e7de6b86252f1bd266b06 - () https://git.kernel.org/stable/c/f4de974019a0adf34d0e7de6b86252f1bd266b06 - Patch
References () https://git.kernel.org/stable/c/fc8f7752a82f4accb99c0f1a868906ba1eb7b86f - () https://git.kernel.org/stable/c/fc8f7752a82f4accb99c0f1a868906ba1eb7b86f - Patch
First Time Linux
Linux linux Kernel

26 Feb 2025, 06:37

Type Values Removed Values Added
New CVE

Information

Published : 2025-02-26 06:37

Updated : 2025-09-23 14:55


NVD link : CVE-2021-47633

Mitre link : CVE-2021-47633

CVE.ORG link : CVE-2021-47633


JSON object : View

Products Affected

linux

  • linux_kernel
CWE
CWE-125

Out-of-bounds Read