Cloudanix VulnDB

CVE-2024-26694

None

CVSS

—

EPSS

0.3%

Published

Apr 3, 2024

CISA due date

—

Cloudanix analysis

Schedule a fix SSVC: Track

A flaw in how Linux handles certain WiFi hardware data could let a local problem cause crashes or memory issues until the operating system is updated.

Exploitation
Local Privilege
Attacker needs
Local User
Complexity
Moderate
Impact
Denial Of Service
Component
OS kernel
Class
Memory Corruption
Remediation
Patch
Effort
Medium
Patch risk
Low

What it actually does

Double-free in kernel memory allocation for TLV PC register data in iwlwifi firmware parsing path when a subsequent file load fails after initial parse, because storage was not cleared with other drv->fw allocations and lacked explicit NULL after free.

Why it matters to the business

Potential kernel crashes, denial of service, or memory corruption on Linux systems using Intel WiFi hardware; low exploit likelihood reduces urgency but still requires patching to avoid stability issues in high-availability environments.

How an attack unfolds

An attacker with local access crafts conditions to trigger firmware file parse success followed by load failure, then forces another deallocation path that re-frees the already-freed TLV storage, resulting in double-free and subsequent memory corruption or crash.

How to fix it

Update Linux kernel to a version containing commit ab9d4bb9a1892439b3123fc52b19e32b9cdf80ad which adds the missing NULL assignment after explicit free of TLV PC register data.

How to confirm the fix worked

Verify kernel source contains the NULL assignment after kfree of the TLV data structure; boot patched kernel and confirm no double-free warnings during failed firmware load sequences in dmesg.

Typical attack path

  1. Gain local execution on affected Linux system with iwlwifi driver
  2. Trigger WiFi firmware reload or module re-initialization
  3. Cause first firmware parse to succeed but subsequent load to fail
  4. Trigger second free path during driver cleanup
  5. Exploit resulting double-free for memory corruption or DoS

How to detect it

Inspect kernel logs (dmesg, /var/log/kern.log) for double-free warnings, slab corruption messages, or iwlwifi firmware parse errors followed by oops/panic during driver unload or reload sequences.

  • iwlwifi.*double-free
  • kfree.*TLV.*PC.*register
  • slab.*corruption.*iwlwifi

What your security team should do

  • Apply the referenced kernel commit or upgrade to a stable release containing the fix as soon as practical
  • Monitor kernel logs for iwlwifi firmware load failures on affected hardware
  • Prioritize systems with Intel WiFi cards in production or exposed environments

The record

In the Linux kernel, the following vulnerability has been resolved: wifi: iwlwifi: fix double-free bug The storage for the TLV PC register data wasn't done like all the other storage in the drv->fw area, which is cleared at the end of deallocation. Therefore, the freeing must also be done differently, explicitly NULL'ing it out after the free, since otherwise there's a nasty double-free bug here if a file fails to load after this has been parsed, and we get another free later (e.g. because no other file exists.) Fix that by adding the missing NULL assignment.

Affected packages

Ecosystem Package Introduced Fixed
Debian:13 linux 0 6.7.7-1
Linux Kernel 6.4.0 6.6.18
Red Hat:enterprise_linux:8::baseos bpftool 0 0:4.18.0-553.5.1.el8_10
Red Hat:enterprise_linux:8::baseos bpftool-debuginfo 0 0:4.18.0-553.5.1.el8_10
Red Hat:enterprise_linux:8::baseos kernel 0 0:4.18.0-553.5.1.el8_10
Red Hat:enterprise_linux:8::baseos kernel-abi-stablelists 0 0:4.18.0-553.5.1.el8_10
Red Hat:enterprise_linux:8::baseos kernel-core 0 0:4.18.0-553.5.1.el8_10
Red Hat:enterprise_linux:8::baseos kernel-cross-headers 0 0:4.18.0-553.5.1.el8_10
Red Hat:enterprise_linux:8::baseos kernel-debug 0 0:4.18.0-553.5.1.el8_10
Red Hat:enterprise_linux:8::baseos kernel-debug-core 0 0:4.18.0-553.5.1.el8_10
Red Hat:enterprise_linux:8::baseos kernel-debug-debuginfo 0 0:4.18.0-553.5.1.el8_10
Red Hat:enterprise_linux:8::baseos kernel-debug-devel 0 0:4.18.0-553.5.1.el8_10
Red Hat:enterprise_linux:8::baseos kernel-debug-modules 0 0:4.18.0-553.5.1.el8_10
Red Hat:enterprise_linux:8::baseos kernel-debug-modules-extra 0 0:4.18.0-553.5.1.el8_10
Red Hat:enterprise_linux:8::baseos kernel-debuginfo 0 0:4.18.0-553.5.1.el8_10
Red Hat:enterprise_linux:8::baseos kernel-debuginfo-common-aarch64 0 0:4.18.0-553.5.1.el8_10
Red Hat:enterprise_linux:8::baseos kernel-debuginfo-common-ppc64le 0 0:4.18.0-553.5.1.el8_10
Red Hat:enterprise_linux:8::baseos kernel-debuginfo-common-s390x 0 0:4.18.0-553.5.1.el8_10
Red Hat:enterprise_linux:8::baseos kernel-debuginfo-common-x86_64 0 0:4.18.0-553.5.1.el8_10
Red Hat:enterprise_linux:8::baseos kernel-devel 0 0:4.18.0-553.5.1.el8_10
Red Hat:enterprise_linux:8::baseos kernel-doc 0 0:4.18.0-553.5.1.el8_10
Red Hat:enterprise_linux:8::baseos kernel-headers 0 0:4.18.0-553.5.1.el8_10
Red Hat:enterprise_linux:8::baseos kernel-modules 0 0:4.18.0-553.5.1.el8_10
Red Hat:enterprise_linux:8::baseos kernel-modules-extra 0 0:4.18.0-553.5.1.el8_10
Red Hat:enterprise_linux:8::baseos kernel-tools 0 0:4.18.0-553.5.1.el8_10
Red Hat:enterprise_linux:8::baseos kernel-tools-debuginfo 0 0:4.18.0-553.5.1.el8_10
Red Hat:enterprise_linux:8::baseos kernel-tools-libs 0 0:4.18.0-553.5.1.el8_10
Red Hat:enterprise_linux:8::baseos kernel-tools-libs-devel 0 0:4.18.0-553.5.1.el8_10
Red Hat:enterprise_linux:8::baseos kernel-zfcpdump 0 0:4.18.0-553.5.1.el8_10
Red Hat:enterprise_linux:8::baseos kernel-zfcpdump-core 0 0:4.18.0-553.5.1.el8_10
Red Hat:enterprise_linux:8::baseos kernel-zfcpdump-debuginfo 0 0:4.18.0-553.5.1.el8_10
Red Hat:enterprise_linux:8::baseos kernel-zfcpdump-devel 0 0:4.18.0-553.5.1.el8_10
Red Hat:enterprise_linux:8::baseos kernel-zfcpdump-modules 0 0:4.18.0-553.5.1.el8_10
Red Hat:enterprise_linux:8::baseos kernel-zfcpdump-modules-extra 0 0:4.18.0-553.5.1.el8_10
Red Hat:enterprise_linux:8::baseos perf 0 0:4.18.0-553.5.1.el8_10
Red Hat:enterprise_linux:8::baseos perf-debuginfo 0 0:4.18.0-553.5.1.el8_10
Red Hat:enterprise_linux:8::baseos python3-perf 0 0:4.18.0-553.5.1.el8_10
Red Hat:enterprise_linux:8::baseos python3-perf-debuginfo 0 0:4.18.0-553.5.1.el8_10
Red Hat:enterprise_linux:8::crb bpftool 0 0:4.18.0-553.5.1.el8_10
Red Hat:enterprise_linux:8::crb bpftool-debuginfo 0 0:4.18.0-553.5.1.el8_10
Red Hat:enterprise_linux:8::crb kernel 0 0:4.18.0-553.5.1.el8_10
Red Hat:enterprise_linux:8::crb kernel-abi-stablelists 0 0:4.18.0-553.5.1.el8_10
Red Hat:enterprise_linux:8::crb kernel-core 0 0:4.18.0-553.5.1.el8_10
Red Hat:enterprise_linux:8::crb kernel-cross-headers 0 0:4.18.0-553.5.1.el8_10
Red Hat:enterprise_linux:8::crb kernel-debug 0 0:4.18.0-553.5.1.el8_10
Red Hat:enterprise_linux:8::crb kernel-debug-core 0 0:4.18.0-553.5.1.el8_10
Red Hat:enterprise_linux:8::crb kernel-debug-debuginfo 0 0:4.18.0-553.5.1.el8_10
Red Hat:enterprise_linux:8::crb kernel-debug-devel 0 0:4.18.0-553.5.1.el8_10
Red Hat:enterprise_linux:8::crb kernel-debug-modules 0 0:4.18.0-553.5.1.el8_10
Red Hat:enterprise_linux:8::crb kernel-debug-modules-extra 0 0:4.18.0-553.5.1.el8_10
Red Hat:enterprise_linux:8::crb kernel-debuginfo 0 0:4.18.0-553.5.1.el8_10
Red Hat:enterprise_linux:8::crb kernel-debuginfo-common-aarch64 0 0:4.18.0-553.5.1.el8_10
Red Hat:enterprise_linux:8::crb kernel-debuginfo-common-ppc64le 0 0:4.18.0-553.5.1.el8_10
Red Hat:enterprise_linux:8::crb kernel-debuginfo-common-s390x 0 0:4.18.0-553.5.1.el8_10
Red Hat:enterprise_linux:8::crb kernel-debuginfo-common-x86_64 0 0:4.18.0-553.5.1.el8_10
Red Hat:enterprise_linux:8::crb kernel-devel 0 0:4.18.0-553.5.1.el8_10
Red Hat:enterprise_linux:8::crb kernel-doc 0 0:4.18.0-553.5.1.el8_10
Red Hat:enterprise_linux:8::crb kernel-headers 0 0:4.18.0-553.5.1.el8_10
Red Hat:enterprise_linux:8::crb kernel-modules 0 0:4.18.0-553.5.1.el8_10
Red Hat:enterprise_linux:8::crb kernel-modules-extra 0 0:4.18.0-553.5.1.el8_10
Red Hat:enterprise_linux:8::crb kernel-tools 0 0:4.18.0-553.5.1.el8_10
Red Hat:enterprise_linux:8::crb kernel-tools-debuginfo 0 0:4.18.0-553.5.1.el8_10
Red Hat:enterprise_linux:8::crb kernel-tools-libs 0 0:4.18.0-553.5.1.el8_10
Red Hat:enterprise_linux:8::crb kernel-tools-libs-devel 0 0:4.18.0-553.5.1.el8_10
Red Hat:enterprise_linux:8::crb kernel-zfcpdump 0 0:4.18.0-553.5.1.el8_10
Red Hat:enterprise_linux:8::crb kernel-zfcpdump-core 0 0:4.18.0-553.5.1.el8_10
Red Hat:enterprise_linux:8::crb kernel-zfcpdump-debuginfo 0 0:4.18.0-553.5.1.el8_10
Red Hat:enterprise_linux:8::crb kernel-zfcpdump-devel 0 0:4.18.0-553.5.1.el8_10
Red Hat:enterprise_linux:8::crb kernel-zfcpdump-modules 0 0:4.18.0-553.5.1.el8_10
Red Hat:enterprise_linux:8::crb kernel-zfcpdump-modules-extra 0 0:4.18.0-553.5.1.el8_10
Red Hat:enterprise_linux:8::crb perf 0 0:4.18.0-553.5.1.el8_10
Red Hat:enterprise_linux:8::crb perf-debuginfo 0 0:4.18.0-553.5.1.el8_10
Red Hat:enterprise_linux:8::crb python3-perf 0 0:4.18.0-553.5.1.el8_10
Red Hat:enterprise_linux:8::crb python3-perf-debuginfo 0 0:4.18.0-553.5.1.el8_10
Red Hat:enterprise_linux:8::nfv kernel-rt 0 0:4.18.0-553.5.1.rt7.346.el8_10
Red Hat:enterprise_linux:8::nfv kernel-rt-core 0 0:4.18.0-553.5.1.rt7.346.el8_10
Red Hat:enterprise_linux:8::nfv kernel-rt-debug 0 0:4.18.0-553.5.1.rt7.346.el8_10
Red Hat:enterprise_linux:8::nfv kernel-rt-debug-core 0 0:4.18.0-553.5.1.rt7.346.el8_10
Red Hat:enterprise_linux:8::nfv kernel-rt-debug-debuginfo 0 0:4.18.0-553.5.1.rt7.346.el8_10
Red Hat:enterprise_linux:8::nfv kernel-rt-debug-devel 0 0:4.18.0-553.5.1.rt7.346.el8_10
Red Hat:enterprise_linux:8::nfv kernel-rt-debug-kvm 0 0:4.18.0-553.5.1.rt7.346.el8_10
Red Hat:enterprise_linux:8::nfv kernel-rt-debug-modules 0 0:4.18.0-553.5.1.rt7.346.el8_10
Red Hat:enterprise_linux:8::nfv kernel-rt-debug-modules-extra 0 0:4.18.0-553.5.1.rt7.346.el8_10
Red Hat:enterprise_linux:8::nfv kernel-rt-debuginfo 0 0:4.18.0-553.5.1.rt7.346.el8_10
Red Hat:enterprise_linux:8::nfv kernel-rt-debuginfo-common-x86_64 0 0:4.18.0-553.5.1.rt7.346.el8_10
Red Hat:enterprise_linux:8::nfv kernel-rt-devel 0 0:4.18.0-553.5.1.rt7.346.el8_10
Red Hat:enterprise_linux:8::nfv kernel-rt-kvm 0 0:4.18.0-553.5.1.rt7.346.el8_10
Red Hat:enterprise_linux:8::nfv kernel-rt-modules 0 0:4.18.0-553.5.1.rt7.346.el8_10
Red Hat:enterprise_linux:8::nfv kernel-rt-modules-extra 0 0:4.18.0-553.5.1.rt7.346.el8_10
Red Hat:enterprise_linux:8::realtime kernel-rt 0 0:4.18.0-553.5.1.rt7.346.el8_10
Red Hat:enterprise_linux:8::realtime kernel-rt-core 0 0:4.18.0-553.5.1.rt7.346.el8_10
Red Hat:enterprise_linux:8::realtime kernel-rt-debug 0 0:4.18.0-553.5.1.rt7.346.el8_10
Red Hat:enterprise_linux:8::realtime kernel-rt-debug-core 0 0:4.18.0-553.5.1.rt7.346.el8_10
Red Hat:enterprise_linux:8::realtime kernel-rt-debug-debuginfo 0 0:4.18.0-553.5.1.rt7.346.el8_10
Red Hat:enterprise_linux:8::realtime kernel-rt-debug-devel 0 0:4.18.0-553.5.1.rt7.346.el8_10
Red Hat:enterprise_linux:8::realtime kernel-rt-debug-kvm 0 0:4.18.0-553.5.1.rt7.346.el8_10
Red Hat:enterprise_linux:8::realtime kernel-rt-debug-modules 0 0:4.18.0-553.5.1.rt7.346.el8_10
Red Hat:enterprise_linux:8::realtime kernel-rt-debug-modules-extra 0 0:4.18.0-553.5.1.rt7.346.el8_10
Red Hat:enterprise_linux:8::realtime kernel-rt-debuginfo 0 0:4.18.0-553.5.1.rt7.346.el8_10
Red Hat:enterprise_linux:8::realtime kernel-rt-debuginfo-common-x86_64 0 0:4.18.0-553.5.1.rt7.346.el8_10
Red Hat:enterprise_linux:8::realtime kernel-rt-devel 0 0:4.18.0-553.5.1.rt7.346.el8_10
Red Hat:enterprise_linux:8::realtime kernel-rt-kvm 0 0:4.18.0-553.5.1.rt7.346.el8_10
Red Hat:enterprise_linux:8::realtime kernel-rt-modules 0 0:4.18.0-553.5.1.rt7.346.el8_10
Red Hat:enterprise_linux:8::realtime kernel-rt-modules-extra 0 0:4.18.0-553.5.1.rt7.346.el8_10
Rocky Linux:8 kernel 0 0:4.18.0-553.5.1.el8_10
Rocky Linux:8 kernel-rt 0 0:4.18.0-553.5.1.rt7.346.el8_10
Ubuntu:14.04:LTS linux 0 3.11.0-12.19
Ubuntu:14.04:LTS linux-aws 0 4.4.0-1002.2
Ubuntu:14.04:LTS linux-azure 0 4.15.0-1023.24~14.04.1
Ubuntu:14.04:LTS linux-lts-xenial 0 4.4.0-13.29~14.04.1
Ubuntu:16.04:LTS linux 0 4.4.0-2.16
Ubuntu:16.04:LTS linux-aws 0 4.4.0-1001.10
Ubuntu:16.04:LTS linux-aws-hwe 0 4.15.0-1030.31~16.04.1
Ubuntu:16.04:LTS linux-azure 0 4.11.0-1009.9
Ubuntu:16.04:LTS linux-gcp 0 4.10.0-1004.4
Ubuntu:16.04:LTS linux-hwe 0 4.8.0-39.42~16.04.1
Ubuntu:16.04:LTS linux-hwe-edge 0 No fix
Ubuntu:16.04:LTS linux-kvm 0 4.4.0-1004.9
Ubuntu:16.04:LTS linux-oracle 0 4.15.0-1007.9~16.04.1
Ubuntu:18.04:LTS linux 0 4.13.0-16.19
Ubuntu:18.04:LTS linux-aws 0 4.15.0-1001.1
Ubuntu:18.04:LTS linux-aws-5.0 0 No fix
Ubuntu:18.04:LTS linux-aws-5.3 0 No fix
Ubuntu:18.04:LTS linux-aws-5.4 0 5.4.0-1018.18~18.04.1
Ubuntu:18.04:LTS linux-azure 0 No fix
Ubuntu:18.04:LTS linux-azure-4.15 0 4.15.0-1082.92
Ubuntu:18.04:LTS linux-azure-5.3 0 No fix
Ubuntu:18.04:LTS linux-azure-5.4 0 5.4.0-1020.20~18.04.1
Ubuntu:18.04:LTS linux-azure-edge 0 No fix
Ubuntu:18.04:LTS linux-gcp 0 No fix
Ubuntu:18.04:LTS linux-gcp-4.15 0 4.15.0-1071.81
Ubuntu:18.04:LTS linux-gcp-5.3 0 No fix
Ubuntu:18.04:LTS linux-gcp-5.4 0 5.4.0-1019.19~18.04.2
Ubuntu:18.04:LTS linux-gke-4.15 0 No fix
Ubuntu:18.04:LTS linux-gke-5.4 0 No fix
Ubuntu:18.04:LTS linux-gkeop-5.4 0 No fix
Ubuntu:18.04:LTS linux-hwe 0 No fix
Ubuntu:18.04:LTS linux-hwe-5.4 0 5.4.0-37.41~18.04.1
Ubuntu:18.04:LTS linux-hwe-edge 0 5.0.0-15.16~18.04.1
Ubuntu:18.04:LTS linux-ibm-5.4 0 5.4.0-1010.11~18.04.2
Ubuntu:18.04:LTS linux-kvm 0 4.15.0-1002.2
Ubuntu:18.04:LTS linux-oem 0 No fix
Ubuntu:18.04:LTS linux-oracle 0 4.15.0-1007.9
Ubuntu:18.04:LTS linux-oracle-5.0 0 No fix
Ubuntu:18.04:LTS linux-oracle-5.3 0 No fix
Ubuntu:18.04:LTS linux-oracle-5.4 0 5.4.0-1019.19~18.04.1
Ubuntu:18.04:LTS linux-raspi-5.4 0 5.4.0-1013.13~18.04.1
Ubuntu:20.04:LTS linux 0 5.4.0-9.12
Ubuntu:20.04:LTS linux-aws 0 5.4.0-1005.5
Ubuntu:20.04:LTS linux-aws-5.11 0 No fix
Ubuntu:20.04:LTS linux-aws-5.13 0 No fix
Ubuntu:20.04:LTS linux-aws-5.15 0 5.15.0-1014.18~20.04.1
Ubuntu:20.04:LTS linux-aws-5.8 0 No fix
Ubuntu:20.04:LTS linux-azure 0 5.4.0-1006.6
Ubuntu:20.04:LTS linux-azure-5.11 0 No fix
Ubuntu:20.04:LTS linux-azure-5.13 0 No fix
Ubuntu:20.04:LTS linux-azure-5.15 0 5.15.0-1007.8~20.04.1
Ubuntu:20.04:LTS linux-azure-5.8 0 No fix
Ubuntu:20.04:LTS linux-azure-fde 0 No fix
Ubuntu:20.04:LTS linux-azure-fde-5.15 0 5.15.0-1019.24~20.04.1.1
Ubuntu:20.04:LTS linux-bluefield 0 5.4.0-1007.10
Ubuntu:20.04:LTS linux-gcp 0 5.4.0-1005.5
Ubuntu:20.04:LTS linux-gcp-5.11 0 No fix
Ubuntu:20.04:LTS linux-gcp-5.13 0 No fix
Ubuntu:20.04:LTS linux-gcp-5.15 0 5.15.0-1006.9~20.04.1
Ubuntu:20.04:LTS linux-gcp-5.8 0 No fix
Ubuntu:20.04:LTS linux-gke 0 No fix
Ubuntu:20.04:LTS linux-gke-5.15 0 No fix
Ubuntu:20.04:LTS linux-gkeop 0 5.4.0-1008.9
Ubuntu:20.04:LTS linux-gkeop-5.15 0 5.15.0-1003.5~20.04.2
Ubuntu:20.04:LTS linux-hwe-5.11 0 No fix
Ubuntu:20.04:LTS linux-hwe-5.13 0 No fix
Ubuntu:20.04:LTS linux-hwe-5.15 0 5.15.0-33.34~20.04.1
Ubuntu:20.04:LTS linux-hwe-5.8 0 No fix
Ubuntu:20.04:LTS linux-ibm 0 5.4.0-1003.4
Ubuntu:20.04:LTS linux-ibm-5.15 0 5.15.0-1033.36~20.04.1
Ubuntu:20.04:LTS linux-intel-5.13 0 No fix
Ubuntu:20.04:LTS linux-intel-iotg-5.15 0 5.15.0-1003.5~20.04.1
Ubuntu:20.04:LTS linux-iot 0 5.4.0-1001.3
Ubuntu:20.04:LTS linux-kvm 0 5.4.0-1004.4
Ubuntu:20.04:LTS linux-lowlatency-hwe-5.15 0 5.15.0-33.34~20.04.1
Ubuntu:20.04:LTS linux-oem-5.10 0 No fix
Ubuntu:20.04:LTS linux-oem-5.13 0 No fix
Ubuntu:20.04:LTS linux-oem-5.14 0 No fix
Ubuntu:20.04:LTS linux-oem-5.6 0 No fix
Ubuntu:20.04:LTS linux-oracle 0 5.4.0-1005.5
Ubuntu:20.04:LTS linux-oracle-5.11 0 No fix
Ubuntu:20.04:LTS linux-oracle-5.13 0 No fix
Ubuntu:20.04:LTS linux-oracle-5.15 0 5.15.0-1007.9~20.04.1
Ubuntu:20.04:LTS linux-oracle-5.8 0 No fix
Ubuntu:20.04:LTS linux-raspi 0 5.4.0-1007.7
Ubuntu:20.04:LTS linux-raspi2 0 No fix
Ubuntu:20.04:LTS linux-riscv 0 No fix
Ubuntu:20.04:LTS linux-riscv-5.11 0 No fix
Ubuntu:20.04:LTS linux-riscv-5.15 0 5.15.0-1015.17~20.04.1
Ubuntu:20.04:LTS linux-riscv-5.8 0 No fix
Ubuntu:20.04:LTS linux-xilinx-zynqmp 0 5.4.0-1020.24
Ubuntu:22.04:LTS linux 0 5.13.0-19.19
Ubuntu:22.04:LTS linux-allwinner-5.19 0 No fix
Ubuntu:22.04:LTS linux-aws 0 5.13.0-1005.6

Related vulnerabilities