Skip to content
OpenAdvisories
Unscored CVE-2022-49945 EUVD-2022-55227GHSA-9555-rxgp-5jjf

hwmon: (gpio-fan) Fix array out of bounds access

Published Jun 18, 2025 · Updated May 11, 2026 · Assigned by Linux

Vendor: Linux Product: Linux Package: linux Package: linux Package: linux-allwinner-5.19 Package: linux-aws Package: linux-aws-5.0 Package: linux-aws-5.11 Package: linux-aws-5.13 Package: linux-aws-5.15 Package: linux-aws-5.19 Package: linux-aws-5.3 Package: linux-aws-5.4 Package: linux-aws-5.8 Package: linux-aws-6.2 Package: linux-aws-6.5 Package: linux-aws-fips Package: linux-aws-hwe Package: linux-azure Package: linux-azure-4.15 Package: linux-azure-5.11 Package: linux-azure-5.13 Package: linux-azure-5.15 Package: linux-azure-5.19 Package: linux-azure-5.3 Package: linux-azure-5.4 Package: linux-azure-5.8 Package: linux-azure-6.2 Package: linux-azure-6.5 Package: linux-azure-edge Package: linux-azure-fde Package: linux-azure-fde-5.19 Package: linux-azure-fde-6.2 Package: linux-azure-fips Package: linux-bluefield Package: linux-fips Package: linux-gcp Package: linux-gcp-4.15 Package: linux-gcp-5.11 Package: linux-gcp-5.13 Package: linux-gcp-5.15 Package: linux-gcp-5.19 Package: linux-gcp-5.3 Package: linux-gcp-5.4 Package: linux-gcp-5.8 Package: linux-gcp-6.2 Package: linux-gcp-6.5 Package: linux-gcp-fips Package: linux-gke Package: linux-gke-4.15 Package: linux-gke-5.15 Package: linux-gke-5.4 Package: linux-gkeop Package: linux-gkeop-5.15 Package: linux-gkeop-5.4 Package: linux-hwe Package: linux-hwe-5.11 Package: linux-hwe-5.13 Package: linux-hwe-5.15 Package: linux-hwe-5.19 Package: linux-hwe-5.4 Package: linux-hwe-5.8 Package: linux-hwe-6.2 Package: linux-hwe-6.5 Package: linux-hwe-edge Package: linux-ibm Package: linux-ibm-5.4 Package: linux-intel-5.13 Package: linux-intel-iot-realtime Package: linux-intel-iotg Package: linux-intel-iotg-5.15 Package: linux-iot Package: linux-kvm Package: linux-lowlatency Package: linux-lowlatency-hwe-5.15 Package: linux-lowlatency-hwe-5.19 Package: linux-lowlatency-hwe-6.2 Package: linux-lowlatency-hwe-6.5 Package: linux-lts-xenial Package: linux-nvidia Package: linux-nvidia-6.2 Package: linux-nvidia-6.5 Package: linux-oem Package: linux-oem-5.10 Package: linux-oem-5.13 Package: linux-oem-5.14 Package: linux-oem-5.17 Package: linux-oem-5.6 Package: linux-oem-6.0 Package: linux-oem-6.1 Package: linux-oem-6.5 Package: linux-oracle Package: linux-oracle-5.0 Package: linux-oracle-5.11 Package: linux-oracle-5.13 Package: linux-oracle-5.15 Package: linux-oracle-5.3 Package: linux-oracle-5.4 Package: linux-oracle-5.8 Package: linux-oracle-6.5 Package: linux-raspi Package: linux-raspi-5.4 Package: linux-raspi-realtime Package: linux-raspi2 Package: linux-realtime Package: linux-riscv Package: linux-riscv-5.11 Package: linux-riscv-5.15 Package: linux-riscv-5.19 Package: linux-riscv-5.8 Package: linux-riscv-6.5 Package: linux-starfive-5.19 Package: linux-starfive-6.2 Package: linux-starfive-6.5 Package: linux-vmware Platform: Linux Ecosystem: Debian Ecosystem: Ubuntu

Description

In the Linux kernel, the following vulnerability has been resolved:

hwmon: (gpio-fan) Fix array out of bounds access

The driver does not check if the cooling state passed to
gpio_fan_set_cur_state() exceeds the maximum cooling state as
stored in fan_data->num_speeds. Since the cooling state is later
used as an array index in set_fan_speed(), an array out of bounds
access can occur.
This can be exploited by setting the state of the thermal cooling device
to arbitrary values, causing for example a kernel oops when unavailable
memory is accessed this way.

Example kernel oops:
[ 807.987276] Unable to handle kernel paging request at virtual address ffffff80d0588064
[ 807.987369] Mem abort info:
[ 807.987398] ESR = 0x96000005
[ 807.987428] EC = 0x25: DABT (current EL), IL = 32 bits
[ 807.987477] SET = 0, FnV = 0
[ 807.987507] EA = 0, S1PTW = 0
[ 807.987536] FSC = 0x05: level 1 translation fault
[ 807.987570] Data abort info:
[ 807.987763] ISV = 0, ISS = 0x00000005
[ 807.987801] CM = 0, WnR = 0
[ 807.987832] swapper pgtable: 4k pages, 39-bit VAs, pgdp=0000000001165000
[ 807.987872] [ffffff80d0588064] pgd=0000000000000000, p4d=0000000000000000, pud=0000000000000000
[ 807.987961] Internal error: Oops: 96000005 [#1] PREEMPT SMP
[ 807.987992] Modules linked in: cmac algif_hash aes_arm64 algif_skcipher af_alg bnep hci_uart btbcm bluetooth ecdh_generic ecc 8021q garp stp llc snd_soc_hdmi_codec brcmfmac vc4 brcmutil cec drm_kms_helper snd_soc_core cfg80211 snd_compress bcm2835_codec(C) snd_pcm_dmaengine syscopyarea bcm2835_isp(C) bcm2835_v4l2(C) sysfillrect v4l2_mem2mem bcm2835_mmal_vchiq(C) raspberrypi_hwmon sysimgblt videobuf2_dma_contig videobuf2_vmalloc fb_sys_fops videobuf2_memops rfkill videobuf2_v4l2 videobuf2_common i2c_bcm2835 snd_bcm2835(C) videodev snd_pcm snd_timer snd mc vc_sm_cma(C) gpio_fan uio_pdrv_genirq uio drm fuse drm_panel_orientation_quirks backlight ip_tables x_tables ipv6
[ 807.988508] CPU: 0 PID: 1321 Comm: bash Tainted: G C 5.15.56-v8+ #1575
[ 807.988548] Hardware name: Raspberry Pi 3 Model B Rev 1.2 (DT)
[ 807.988574] pstate: 20000005 (nzCv daif -PAN -UAO -TCO -DIT -SSBS BTYPE=--)
[ 807.988608] pc : set_fan_speed.part.5+0x34/0x80 [gpio_fan]
[ 807.988654] lr : gpio_fan_set_cur_state+0x34/0x50 [gpio_fan]
[ 807.988691] sp : ffffffc008cf3bd0
[ 807.988710] x29: ffffffc008cf3bd0 x28: ffffff80019edac0 x27: 0000000000000000
[ 807.988762] x26: 0000000000000000 x25: 0000000000000000 x24: ffffff800747c920
[ 807.988787] x23: 000000000000000a x22: ffffff800369f000 x21: 000000001999997c
[ 807.988854] x20: ffffff800369f2e8 x19: ffffff8002ae8080 x18: 0000000000000000
[ 807.988877] x17: 0000000000000000 x16: 0000000000000000 x15: 000000559e271b70
[ 807.988938] x14: 0000000000000000 x13: 0000000000000000 x12: 0000000000000000
[ 807.988960] x11: 0000000000000000 x10: ffffffc008cf3c20 x9 : ffffffcfb60c741c
[ 807.989018] x8 : 000000000000000a x7 : 00000000ffffffc9 x6 : 0000000000000009
[ 807.989040] x5 : 000000000000002a x4 : 0000000000000000 x3 : ffffff800369f2e8
[ 807.989062] x2 : 000000000000e780 x1 : 0000000000000001 x0 : ffffff80d0588060
[ 807.989084] Call trace:
[ 807.989091] set_fan_speed.part.5+0x34/0x80 [gpio_fan]
[ 807.989113] gpio_fan_set_cur_state+0x34/0x50 [gpio_fan]
[ 807.989199] cur_state_store+0x84/0xd0
[ 807.989221] dev_attr_store+0x20/0x38
[ 807.989262] sysfs_kf_write+0x4c/0x60
[ 807.989282] kernfs_fop_write_iter+0x130/0x1c0
[ 807.989298] new_sync_write+0x10c/0x190
[ 807.989315] vfs_write+0x254/0x378
[ 807.989362] ksys_write+0x70/0xf8
[ 807.989379] __arm64_sys_write+0x24/0x30
[ 807.989424] invoke_syscall+0x4c/0x110
[ 807.989442] el0_svc_common.constprop.3+0xfc/0x120
[ 807.989458] do_el0_svc+0x2c/0x90
[ 807.989473] el0_svc+0x24/0x60
[ 807.989544] el0t_64_sync_handler+0x90/0xb8
[ 807.989558] el0t_64_sync+0x1a0/0x1a4
[ 807.989579] Code: b9403801 f9402800 7100003f 8b35cc00 (b9400416)
[ 807.989627] ---[ end t
---truncated---

Affected products

VendorProductAffectedFixed
Linux Linux 4.1 4.9.328

Fixed in Linux distributions

Distributions backport fixes, so the version that fixes this vulnerability differs per release — upgrade to at least the version shown. From the distributions' security trackers and advisories.

ReleasePackageFixed inAdvisory
Debian 14 linux 6.0.2-1 —
Debian 13 linux 6.0.2-1 —
Debian 12 linux 6.0.2-1 —
ReleasePackageFixed inAdvisory
Ubuntu 24.04 LTS linux-riscv +2 No fix yet —
Ubuntu 22.04 LTS linux +1 5.15.0-57.63 —
Ubuntu 22.04 LTS linux-aws 5.15.0-1027.31 —
Ubuntu 22.04 LTS linux-azure 5.15.0-1030.37 —
Ubuntu 22.04 LTS linux-azure-fde 5.15.0-1030.37.1 —
Ubuntu 22.04 LTS linux-gcp 5.15.0-1026.33 —
Ubuntu 22.04 LTS linux-gke 5.15.0-1024.29 —
Ubuntu 22.04 LTS linux-gkeop 5.15.0-1012.16 —
Ubuntu 22.04 LTS linux-ibm 5.15.0-1022.25 —
Ubuntu 22.04 LTS linux-intel-iotg 5.15.0-1023.28 —
Ubuntu 22.04 LTS linux-kvm 5.15.0-1025.30 —
Ubuntu 22.04 LTS linux-nvidia 5.15.0-1015.15 —
Ubuntu 22.04 LTS linux-oracle 5.15.0-1026.32 —
Ubuntu 22.04 LTS linux-raspi 5.15.0-1022.24 —
Ubuntu 22.04 LTS linux-riscv +32 No fix yet —
Ubuntu 20.04 LTS linux 5.4.0-136.153 —
Ubuntu 20.04 LTS linux-aws 5.4.0-1093.101 —
Ubuntu 20.04 LTS linux-aws-5.15 +1 5.15.0-1027.31~20.04.1 —
Ubuntu 20.04 LTS linux-azure 5.4.0-1100.106 —
Ubuntu 20.04 LTS linux-azure-5.15 5.15.0-1030.37~20.04.1 —
Ubuntu 20.04 LTS linux-bluefield 5.4.0-1054.60 —
Ubuntu 20.04 LTS linux-gcp 5.4.0-1097.106 —
Ubuntu 20.04 LTS linux-gcp-5.15 5.15.0-1027.34~20.04.1 —
Ubuntu 20.04 LTS linux-gke +28 No fix yet —
Ubuntu 20.04 LTS linux-hwe-5.15 5.15.0-57.63~20.04.1 —
Ubuntu 20.04 LTS linux-ibm 5.4.0-1041.46 —
Ubuntu 20.04 LTS linux-intel-iotg-5.15 5.15.0-1023.28~20.04.1 —
Ubuntu 20.04 LTS linux-iot 5.4.0-1010.12 —
Ubuntu 20.04 LTS linux-kvm 5.4.0-1083.89 —
Ubuntu 20.04 LTS linux-lowlatency-hwe-5.15 5.15.0-58.64~20.04.1 —
Ubuntu 20.04 LTS linux-oracle 5.4.0-1091.100 —
Ubuntu 20.04 LTS linux-oracle-5.15 5.15.0-1027.33~20.04.1 —
Ubuntu 20.04 LTS linux-raspi 5.4.0-1078.89 —
Ubuntu 18.04 LTS linux 4.15.0-201.212 —
Ubuntu 18.04 LTS linux-aws 4.15.0-1147.159 —
Ubuntu 18.04 LTS linux-aws-5.4 5.4.0-1093.102~18.04.2 —
Ubuntu 18.04 LTS linux-azure-4.15 4.15.0-1158.173 —
Ubuntu 18.04 LTS linux-azure-5.4 5.4.0-1100.106~18.04.1 —
Ubuntu 18.04 LTS linux-gcp +14 No fix yet —
Ubuntu 18.04 LTS linux-gcp-4.15 4.15.0-1142.158 —
Ubuntu 18.04 LTS linux-gcp-5.4 5.4.0-1097.106~18.04.1 —
Ubuntu 18.04 LTS linux-hwe-5.4 5.4.0-136.153~18.04.1 —
Ubuntu 18.04 LTS linux-ibm-5.4 5.4.0-1041.46~18.04.1 —
Ubuntu 18.04 LTS linux-kvm 4.15.0-1133.138 —
Ubuntu 18.04 LTS linux-oracle 4.15.0-1112.123 —
Ubuntu 18.04 LTS linux-oracle-5.4 5.4.0-1091.100~18.04.1 —
Ubuntu 18.04 LTS linux-raspi-5.4 5.4.0-1078.89~18.04.1 —
Ubuntu 16.04 LTS linux-hwe-edge No fix yet —
Show 9 more (older releases, extended support, other products)
ReleasePackageFixed inAdvisory
Ubuntu Pro Realtime 22.04 LTS linux-realtime 5.15.0-1029.32 —
Ubuntu Pro FIPS 20.04 LTS linux-fips +3 No fix yet —
Ubuntu Pro FIPS 18.04 LTS linux-fips +3 No fix yet —
Ubuntu Pro FIPS 16.04 LTS linux-fips No fix yet —
Ubuntu Pro FIPS-updates 20.04 LTS linux-aws-fips 5.4.0-1093.101+fips1 —
Ubuntu Pro FIPS-updates 20.04 LTS linux-azure-fips 5.4.0-1100.106+fips1 —
Ubuntu Pro FIPS-updates 20.04 LTS linux-fips 5.4.0-1069.78 —
Ubuntu Pro FIPS-updates 20.04 LTS linux-gcp-fips 5.4.0-1097.106+fips1 —
Ubuntu Pro FIPS-updates 18.04 LTS linux-aws-fips 4.15.0-2087.93 —
Ubuntu Pro FIPS-updates 18.04 LTS linux-azure-fips 4.15.0-2067.73 —
Ubuntu Pro FIPS-updates 18.04 LTS linux-fips 4.15.0-1104.115 —
Ubuntu Pro FIPS-updates 18.04 LTS linux-gcp-fips 4.15.0-2052.57 —
Ubuntu Pro FIPS-updates 16.04 LTS linux-fips No fix yet —
Ubuntu Pro 16.04 LTS linux +2 No fix yet —
Ubuntu Pro 16.04 LTS linux-aws-hwe 4.15.0-1147.159~16.04.1 —
Ubuntu Pro 16.04 LTS linux-azure 4.15.0-1159.174~16.04.1 —
Ubuntu Pro 16.04 LTS linux-gcp 4.15.0-1142.158~16.04.1 —
Ubuntu Pro 16.04 LTS linux-hwe 4.15.0-201.212~16.04.1 —
Ubuntu Pro 16.04 LTS linux-oracle 4.15.0-1112.123~16.04.1 —
Ubuntu Pro 14.04 LTS linux-aws +1 No fix yet —
Ubuntu Pro 14.04 LTS linux-azure 4.15.0-1158.173~14.04.1 —
ReleasePackageFixed inAdvisory
SLES 15 SP5 kernel-64kb +6 5.14.21-150500.55.113.1 SUSE-SU-2025:02264-1
SLES 15 SP5 kernel-default-base 5.14.21-150500.55.113.1.150500.6.53.1 SUSE-SU-2025:02264-1
SLES 15 SP4 kernel-64kb +3 5.14.21-150400.24.170.2 SUSE-SU-2025:02537-1
SLES 15 SP4 kernel-default-base 5.14.21-150400.24.170.2.150400.24.86.2 SUSE-SU-2025:02537-1
SLES 15 SP4 kernel-docs +2 5.14.21-150400.24.170.1 SUSE-SU-2025:02537-1
SLES 15 SP3 kernel-64kb +6 5.3.18-150300.59.211.1 SUSE-SU-2025:02308-1
SLES 15 SP3 kernel-default-base 5.3.18-150300.59.211.1.150300.18.126.1 SUSE-SU-2025:02308-1
SLES 15 SP3 kernel-obs-build 5.3.18-150300.59.212.1 SUSE-SU-2025:02308-1
Show 15 more (older releases, extended support, other products)
ReleasePackageFixed inAdvisory
SLES for SAP 15 SP5 kernel-default-base 5.14.21-150500.55.113.1.150500.6.53.1 SUSE-SU-2025:02264-1
SLES for SAP 15 SP5 kernel-docs +4 5.14.21-150500.55.113.1 SUSE-SU-2025:02264-1
SLES for SAP 15 SP4 kernel-default +1 5.14.21-150400.24.170.2 SUSE-SU-2025:02537-1
SLES for SAP 15 SP4 kernel-default-base 5.14.21-150400.24.170.2.150400.24.86.2 SUSE-SU-2025:02537-1
SLES for SAP 15 SP4 kernel-docs +2 5.14.21-150400.24.170.1 SUSE-SU-2025:02537-1
SLES for SAP 15 SP3 kernel-default-base 5.3.18-150300.59.211.1.150300.18.126.1 SUSE-SU-2025:02308-1
SLES for SAP 15 SP3 kernel-docs +4 5.3.18-150300.59.211.1 SUSE-SU-2025:02308-1
SLES for SAP 15 SP3 kernel-obs-build 5.3.18-150300.59.212.1 SUSE-SU-2025:02308-1
SLE Micro 5.5 kernel-default-base 5.14.21-150500.55.113.1.150500.6.53.1 SUSE-SU-2025:02264-1
SLE Micro 5.5 kernel-rt 5.14.21-150500.13.100.2 SUSE-SU-2025:02321-1
SLE Micro 5.5 kernel-source +1 5.14.21-150500.55.113.1 SUSE-SU-2025:02264-1
SLE Micro 5.5 kernel-source-rt 5.14.21-150500.13.100.1 SUSE-SU-2025:02321-1
SLE Micro 5.4 kernel-default 5.14.21-150400.24.170.2 SUSE-SU-2025:02537-1
SLE Micro 5.4 kernel-default-base 5.14.21-150400.24.170.2.150400.24.86.2 SUSE-SU-2025:02537-1
SLE Micro 5.4 kernel-rt +1 5.14.21-150400.15.124.1 SUSE-SU-2025:02322-1
SLE Micro 5.3 kernel-default 5.14.21-150400.24.170.2 SUSE-SU-2025:02537-1
SLE Micro 5.3 kernel-default-base 5.14.21-150400.24.170.2.150400.24.86.2 SUSE-SU-2025:02537-1
SLE Micro 5.3 kernel-rt +1 5.14.21-150400.15.124.1 SUSE-SU-2025:02322-1
SLE Micro 5.2 kernel-default 5.3.18-150300.59.211.1 SUSE-SU-2025:02308-1
SLE Micro 5.2 kernel-default-base 5.3.18-150300.59.211.1.150300.18.126.1 SUSE-SU-2025:02308-1
SLE Micro 5.2 kernel-rt +1 5.3.18-150300.214.1 SUSE-SU-2025:02320-1
SLE Micro 5.1 kernel-default 5.3.18-150300.59.211.1 SUSE-SU-2025:02308-1
SLE Micro 5.1 kernel-default-base 5.3.18-150300.59.211.1.150300.18.126.1 SUSE-SU-2025:02308-1
SLE Micro 5.1 kernel-rt +1 5.3.18-150300.214.1 SUSE-SU-2025:02320-1
SLE Live Patching 15 SP5 kernel-default 5.14.21-150500.55.113.1 SUSE-SU-2025:02264-1
SLE Live Patching 15 SP5 kernel-livepatch-SLE15-SP5_Update_28 1-150500.11.3.1 SUSE-SU-2025:02264-1
SLE Live Patching 15 SP3 kernel-default 5.3.18-150300.59.211.1 SUSE-SU-2025:02308-1
SLE Live Patching 15 SP3 kernel-livepatch-SLE15-SP3_Update_59 1-150300.7.3.1 SUSE-SU-2025:02308-1
SLE HPC 15 SP5 kernel-64kb +5 5.14.21-150500.55.113.1 SUSE-SU-2025:02264-1
SLE HPC 15 SP5 kernel-default-base 5.14.21-150500.55.113.1.150500.6.53.1 SUSE-SU-2025:02264-1
SLE HPC 15 SP4 kernel-64kb +2 5.14.21-150400.24.170.2 SUSE-SU-2025:02537-1
SLE HPC 15 SP4 kernel-default-base 5.14.21-150400.24.170.2.150400.24.86.2 SUSE-SU-2025:02537-1
SLE HPC 15 SP4 kernel-docs +2 5.14.21-150400.24.170.1 SUSE-SU-2025:02537-1
SUSE Manager Server 4.3 kernel-default +1 5.14.21-150400.24.170.2 SUSE-SU-2025:02537-1
SUSE Manager Server 4.3 kernel-default-base 5.14.21-150400.24.170.2.150400.24.86.2 SUSE-SU-2025:02537-1
SUSE Manager Server 4.3 kernel-syms +1 5.14.21-150400.24.170.1 SUSE-SU-2025:02537-1
SUSE Manager Proxy 4.3 kernel-default 5.14.21-150400.24.170.2 SUSE-SU-2025:02537-1
SUSE Manager Proxy 4.3 kernel-default-base 5.14.21-150400.24.170.2.150400.24.86.2 SUSE-SU-2025:02537-1
SUSE Manager Proxy 4.3 kernel-syms +1 5.14.21-150400.24.170.1 SUSE-SU-2025:02537-1
SUSE Enterprise Storage 7.1 kernel-64kb +5 5.3.18-150300.59.211.1 SUSE-SU-2025:02308-1
SUSE Enterprise Storage 7.1 kernel-default-base 5.3.18-150300.59.211.1.150300.18.126.1 SUSE-SU-2025:02308-1
SUSE Enterprise Storage 7.1 kernel-obs-build 5.3.18-150300.59.212.1 SUSE-SU-2025:02308-1

Advisories 7

References