CVE-2024-39479

EUVD-2024-38004
In the Linux kernel, the following vulnerability has been resolved:

drm/i915/hwmon: Get rid of devm

When both hwmon and hwmon drvdata (on which hwmon depends) are device
managed resources, the expectation, on device unbind, is that hwmon will be
released before drvdata. However, in i915 there are two separate code
paths, which both release either drvdata or hwmon and either can be
released before the other. These code paths (for device unbind) are as
follows (see also the bug referenced below):

Call Trace:
release_nodes+0x11/0x70
devres_release_group+0xb2/0x110
component_unbind_all+0x8d/0xa0
component_del+0xa5/0x140
intel_pxp_tee_component_fini+0x29/0x40 [i915]
intel_pxp_fini+0x33/0x80 [i915]
i915_driver_remove+0x4c/0x120 [i915]
i915_pci_remove+0x19/0x30 [i915]
pci_device_remove+0x32/0xa0
device_release_driver_internal+0x19c/0x200
unbind_store+0x9c/0xb0

and

Call Trace:
release_nodes+0x11/0x70
devres_release_all+0x8a/0xc0
device_unbind_cleanup+0x9/0x70
device_release_driver_internal+0x1c1/0x200
unbind_store+0x9c/0xb0

This means that in i915, if use devm, we cannot gurantee that hwmon will
always be released before drvdata. Which means that we have a uaf if hwmon
sysfs is accessed when drvdata has been released but hwmon hasn't.

The only way out of this seems to be do get rid of devm_ and release/free
everything explicitly during device unbind.

v2: Change commit message and other minor code changes
v3: Cleanup from i915_hwmon_register on error (Armin Wolf)
v4: Eliminate potential static analyzer warning (Rodrigo)
    Eliminate fetch_and_zero (Jani)
v5: Restore previous logic for ddat_gt->hwmon_dev error return (Andi)
ProviderTypeBase ScoreAtk. VectorAtk. ComplexityPriv. RequiredVector
NISTPrimary
7.8 HIGH
LOCAL
LOW
LOW
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
CISA-ADPADP
7.8 HIGH
LOCAL
LOW
LOW
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
Base Score
CVSS 3.x
EPSS Score
Percentile: 9%
Affected Products (NVD)
VendorProductVersion
linuxlinux_kernel
6.2 ≤
𝑥
< 6.6.34
linuxlinux_kernel
6.7 ≤
𝑥
< 6.9.5
𝑥
= Vulnerable software versions
Debian logo
Debian Releases
Debian Product
Codename
linux
bookworm
vulnerable
bookworm (security)
vulnerable
bullseye
vulnerable
bullseye (security)
vulnerable
forky
6.17.13-1
fixed
sid
6.17.13-1
fixed
trixie
6.12.57-1
fixed
trixie (security)
6.12.48-1
fixed
Ubuntu logo
Ubuntu Releases
Ubuntu Product
Codename
linux-hwe
bionic
ignored
focal
dne
jammy
dne
mantic
dne
noble
dne
oracular
dne
trusty
dne
xenial
not-affected
linux-hwe-5.4
bionic
not-affected
focal
dne
jammy
dne
mantic
dne
noble
dne
oracular
dne
trusty
dne
xenial
dne
linux-hwe-5.8
bionic
dne
focal
ignored
jammy
dne
mantic
dne
noble
dne
oracular
dne
trusty
dne
xenial
dne
linux-hwe-5.11
bionic
dne
focal
ignored
jammy
dne
mantic
dne
noble
dne
oracular
dne
trusty
dne
xenial
dne
linux-hwe-5.13
bionic
dne
focal
ignored
jammy
dne
mantic
dne
noble
dne
oracular
dne
trusty
dne
xenial
dne
linux-hwe-5.15
bionic
dne
focal
not-affected
jammy
dne
mantic
dne
noble
dne
oracular
dne
trusty
dne
xenial
dne
linux-hwe-5.19
bionic
dne
focal
dne
jammy
ignored
mantic
dne
noble
dne
oracular
dne
trusty
dne
xenial
dne
linux-hwe-6.2
bionic
dne
focal
dne
jammy
ignored
mantic
dne
noble
dne
oracular
dne
trusty
dne
xenial
dne
linux-hwe-6.5
bionic
dne
focal
dne
jammy
ignored
mantic
dne
noble
dne
oracular
dne
trusty
dne
xenial
dne
linux-hwe-edge
bionic
not-affected
focal
dne
jammy
dne
mantic
dne
noble
dne
oracular
dne
trusty
dne
xenial
ignored
linux-lts-xenial
bionic
dne
focal
dne
jammy
dne
mantic
dne
noble
dne
oracular
dne
trusty
not-affected
xenial
dne
linux-kvm
bionic
not-affected
focal
not-affected
jammy
not-affected
mantic
dne
noble
dne
oracular
dne
trusty
dne
xenial
not-affected
linux-allwinner-5.19
bionic
dne
focal
dne
jammy
ignored
mantic
dne
noble
dne
oracular
dne
trusty
dne
xenial
dne
linux-aws-5.0
bionic
ignored
focal
dne
jammy
dne
mantic
dne
noble
dne
oracular
dne
trusty
dne
xenial
dne
linux-aws-5.3
bionic
ignored
focal
dne
jammy
dne
mantic
dne
noble
dne
oracular
dne
trusty
dne
xenial
dne
linux-aws-5.4
bionic
not-affected
focal
dne
jammy
dne
mantic
dne
noble
dne
oracular
dne
trusty
dne
xenial
dne
linux-aws-5.8
bionic
dne
focal
ignored
jammy
dne
mantic
dne
noble
dne
oracular
dne
trusty
dne
xenial
dne
linux-aws-5.11
bionic
dne
focal
ignored
jammy
dne
mantic
dne
noble
dne
oracular
dne
trusty
dne
xenial
dne
linux-aws-5.13
bionic
dne
focal
ignored
jammy
dne
mantic
dne
noble
dne
oracular
dne
trusty
dne
xenial
dne
linux-aws-5.15
bionic
dne
focal
not-affected
jammy
dne
mantic
dne
noble
dne
oracular
dne
trusty
dne
xenial
dne
linux-aws-5.19
bionic
dne
focal
dne
jammy
ignored
mantic
dne
noble
dne
oracular
dne
trusty
dne
xenial
dne
linux-aws-6.2
bionic
dne
focal
dne
jammy
ignored
mantic
dne
noble
dne
oracular
dne
trusty
dne
xenial
dne
linux-aws-6.5
bionic
dne
focal
dne
jammy
ignored
mantic
dne
noble
dne
oracular
dne
trusty
dne
xenial
dne
linux-aws-hwe
bionic
dne
focal
dne
jammy
dne
mantic
dne
noble
dne
oracular
dne
trusty
dne
xenial
not-affected
linux-azure
bionic
ignored
focal
not-affected
jammy
not-affected
mantic
ignored
noble
Fixed 6.8.0-1014.16
released
oracular
not-affected
trusty
not-affected
xenial
not-affected
linux-azure-4.15
bionic
not-affected
focal
dne
jammy
dne
mantic
dne
noble
dne
oracular
dne
trusty
dne
xenial
dne
linux-azure-5.3
bionic
ignored
focal
dne
jammy
dne
mantic
dne
noble
dne
oracular
dne
trusty
dne
xenial
dne
linux-azure-5.4
bionic
not-affected
focal
dne
jammy
dne
mantic
dne
noble
dne
oracular
dne
trusty
dne
xenial
dne
linux-azure-5.8
bionic
dne
focal
ignored
jammy
dne
mantic
dne
noble
dne
oracular
dne
trusty
dne
xenial
dne
linux-azure-5.11
bionic
dne
focal
ignored
jammy
dne
mantic
dne
noble
dne
oracular
dne
trusty
dne
xenial
dne
linux-azure-5.13
bionic
dne
focal
ignored
jammy
dne
mantic
dne
noble
dne
oracular
dne
trusty
dne
xenial
dne
linux-azure-5.15
bionic
dne
focal
not-affected
jammy
dne
mantic
dne
noble
dne
oracular
dne
trusty
dne
xenial
dne
linux-azure-5.19
bionic
dne
focal
dne
jammy
ignored
mantic
dne
noble
dne
oracular
dne
trusty
dne
xenial
dne
linux-azure-6.2
bionic
dne
focal
dne
jammy
ignored
mantic
dne
noble
dne
oracular
dne
trusty
dne
xenial
dne
linux-azure-6.5
bionic
dne
focal
dne
jammy
ignored
mantic
dne
noble
dne
oracular
dne
trusty
dne
xenial
dne
linux-azure-fde
bionic
dne
focal
ignored
jammy
not-affected
mantic
dne
noble
not-affected
oracular
dne
trusty
dne
xenial
dne
linux-azure-fde-5.15
bionic
dne
focal
not-affected
jammy
dne
mantic
dne
noble
dne
oracular
dne
trusty
dne
xenial
dne
linux-azure-fde-5.19
bionic
dne
focal
dne
jammy
ignored
mantic
dne
noble
dne
oracular
dne
trusty
dne
xenial
dne
linux-azure-fde-6.2
bionic
dne
focal
dne
jammy
ignored
mantic
dne
noble
dne
oracular
dne
trusty
dne
xenial
dne
linux-bluefield
bionic
dne
focal
not-affected
jammy
dne
mantic
dne
noble
dne
oracular
dne
trusty
dne
xenial
dne
linux-azure-edge
bionic
ignored
focal
dne
jammy
dne
mantic
dne
noble
dne
oracular
dne
trusty
dne
xenial
dne
linux-fips
bionic
not-affected
focal
not-affected
jammy
not-affected
mantic
dne
noble
dne
oracular
dne
trusty
dne
xenial
not-affected
linux-aws-fips
bionic
not-affected
focal
not-affected
jammy
not-affected
mantic
dne
noble
dne
oracular
dne
trusty
dne
xenial
dne
linux-azure-fips
bionic
not-affected
focal
not-affected
jammy
not-affected
mantic
dne
noble
dne
oracular
dne
trusty
dne
xenial
dne
linux-gcp-fips
bionic
not-affected
focal
not-affected
jammy
not-affected
mantic
dne
noble
dne
oracular
dne
trusty
dne
xenial
dne
linux-gcp
bionic
ignored
focal
not-affected
jammy
not-affected
mantic
ignored
noble
Fixed 6.8.0-1014.16
released
oracular
not-affected
trusty
dne
xenial
not-affected
linux-gcp-4.15
bionic
not-affected
focal
dne
jammy
dne
mantic
dne
noble
dne
oracular
dne
trusty
dne
xenial
dne
linux-gcp-5.3
bionic
ignored
focal
dne
jammy
dne
mantic
dne
noble
dne
oracular
dne
trusty
dne
xenial
dne
linux-gcp-5.4
bionic
not-affected
focal
dne
jammy
dne
mantic
dne
noble
dne
oracular
dne
trusty
dne
xenial
dne
linux-gcp-5.8
bionic
dne
focal
ignored
jammy
dne
mantic
dne
noble
dne
oracular
dne
trusty
dne
xenial
dne
linux-gcp-5.11
bionic
dne
focal
ignored
jammy
dne
mantic
dne
noble
dne
oracular
dne
trusty
dne
xenial
dne
linux-gcp-5.13
bionic
dne
focal
ignored
jammy
dne
mantic
dne
noble
dne
oracular
dne
trusty
dne
xenial
dne
linux-gcp-5.15
bionic
dne
focal
not-affected
jammy
dne
mantic
dne
noble
dne
oracular
dne
trusty
dne
xenial
dne
linux-gcp-5.19
bionic
dne
focal
dne
jammy
ignored
mantic
dne
noble
dne
oracular
dne
trusty
dne
xenial
dne
linux-gcp-6.2
bionic
dne
focal
dne
jammy
ignored
mantic
dne
noble
dne
oracular
dne
trusty
dne
xenial
dne
linux-gcp-6.5
bionic
dne
focal
dne
jammy
ignored
mantic
dne
noble
dne
oracular
dne
trusty
dne
xenial
dne
linux-gke
bionic
dne
focal
ignored
jammy
not-affected
mantic
dne
noble
Fixed 6.8.0-1010.13
released
oracular
dne
trusty
dne
xenial
ignored
linux-gke-4.15
bionic
ignored
focal
dne
jammy
dne
mantic
dne
noble
dne
oracular
dne
trusty
dne
xenial
dne
linux-gke-5.4
bionic
ignored
focal
dne
jammy
dne
mantic
dne
noble
dne
oracular
dne
trusty
dne
xenial
dne
linux-gke-5.15
bionic
dne
focal
ignored
jammy
dne
mantic
dne
noble
dne
oracular
dne
trusty
dne
xenial
dne
linux-gkeop
bionic
dne
focal
not-affected
jammy
not-affected
mantic
dne
noble
not-affected
oracular
dne
trusty
dne
xenial
dne
linux-gkeop-5.4
bionic
ignored
focal
dne
jammy
dne
mantic
dne
noble
dne
oracular
dne
trusty
dne
xenial
dne
linux-gkeop-5.15
bionic
dne
focal
not-affected
jammy
dne
mantic
dne
noble
dne
oracular
dne
trusty
dne
xenial
dne
linux-ibm
bionic
dne
focal
not-affected
jammy
not-affected
mantic
ignored
noble
Fixed 6.8.0-1012.12
released
oracular
dne
trusty
dne
xenial
dne
linux-ibm-5.4
bionic
not-affected
focal
dne
jammy
dne
mantic
dne
noble
dne
oracular
dne
trusty
dne
xenial
dne
linux-ibm-5.15
bionic
dne
focal
not-affected
jammy
dne
mantic
dne
noble
dne
oracular
dne
trusty
dne
xenial
dne
linux-intel
bionic
dne
focal
dne
jammy
dne
mantic
dne
noble
not-affected
oracular
dne
trusty
dne
xenial
dne
linux-intel-5.13
bionic
dne
focal
ignored
jammy
dne
mantic
dne
noble
dne
oracular
dne
trusty
dne
xenial
dne
linux-intel-iotg
bionic
dne
focal
dne
jammy
not-affected
mantic
dne
noble
dne
oracular
dne
trusty
dne
xenial
dne
linux-intel-iotg-5.15
bionic
dne
focal
not-affected
jammy
dne
mantic
dne
noble
dne
oracular
dne
trusty
dne
xenial
dne
linux-iot
bionic
dne
focal
not-affected
jammy
dne
mantic
dne
noble
dne
oracular
dne
trusty
dne
xenial
dne
linux-laptop
bionic
dne
focal
dne
jammy
dne
mantic
ignored
noble
dne
oracular
dne
trusty
dne
xenial
dne
linux-lowlatency
bionic
dne
focal
dne
jammy
not-affected
mantic
ignored
noble
Fixed 6.8.0-44.44.1
released
oracular
not-affected
trusty
dne
xenial
dne
linux-lowlatency-hwe-5.15
bionic
dne
focal
not-affected
jammy
dne
mantic
dne
noble
dne
oracular
dne
trusty
dne
xenial
dne
linux-lowlatency-hwe-5.19
bionic
dne
focal
dne
jammy
ignored
mantic
dne
noble
dne
oracular
dne
trusty
dne
xenial
dne
linux-lowlatency-hwe-6.2
bionic
dne
focal
dne
jammy
ignored
mantic
dne
noble
dne
oracular
dne
trusty
dne
xenial
dne
linux-lowlatency-hwe-6.5
bionic
dne
focal
dne
jammy
ignored
mantic
dne
noble
dne
oracular
dne
trusty
dne
xenial
dne
linux-nvidia
bionic
dne
focal
dne
jammy
not-affected
mantic
dne
noble
Fixed 6.8.0-1013.14
released
oracular
dne
trusty
dne
xenial
dne
linux-nvidia-6.2
bionic
dne
focal
dne
jammy
ignored
mantic
dne
noble
dne
oracular
dne
trusty
dne
xenial
dne
linux-nvidia-6.5
bionic
dne
focal
dne
jammy
ignored
mantic
dne
noble
dne
oracular
dne
trusty
dne
xenial
dne
linux-oracle-5.0
bionic
ignored
focal
dne
jammy
dne
mantic
dne
noble
dne
oracular
dne
trusty
dne
xenial
dne
linux-oracle-5.3
bionic
ignored
focal
dne
jammy
dne
mantic
dne
noble
dne
oracular
dne
trusty
dne
xenial
dne
linux-oracle-5.4
bionic
not-affected
focal
dne
jammy
dne
mantic
dne
noble
dne
oracular
dne
trusty
dne
xenial
dne
linux-oracle-5.8
bionic
dne
focal
ignored
jammy
dne
mantic
dne
noble
dne
oracular
dne
trusty
dne
xenial
dne
linux-oracle-5.11
bionic
dne
focal
ignored
jammy
dne
mantic
dne
noble
dne
oracular
dne
trusty
dne
xenial
dne
linux-oracle-5.13
bionic
dne
focal
ignored
jammy
dne
mantic
dne
noble
dne
oracular
dne
trusty
dne
xenial
dne
linux-oracle-5.15
bionic
dne
focal
not-affected
jammy
dne
mantic
dne
noble
dne
oracular
dne
trusty
dne
xenial
dne
linux-oracle-6.5
bionic
dne
focal
dne
jammy
ignored
mantic
dne
noble
dne
oracular
dne
trusty
dne
xenial
dne
linux-oem
bionic
ignored
focal
dne
jammy
dne
mantic
dne
noble
dne
oracular
dne
trusty
dne
xenial
ignored
linux-oem-5.6
bionic
dne
focal
ignored
jammy
dne
mantic
dne
noble
dne
oracular
dne
trusty
dne
xenial
dne
linux-oem-5.10
bionic
dne
focal
ignored
jammy
dne
mantic
dne
noble
dne
oracular
dne
trusty
dne
xenial
dne
linux-oem-5.13
bionic
dne
focal
ignored
jammy
dne
mantic
dne
noble
dne
oracular
dne
trusty
dne
xenial
dne
linux-oem-5.14
bionic
dne
focal
ignored
jammy
dne
mantic
dne
noble
dne
oracular
dne
trusty
dne
xenial
dne
linux-oem-5.17
bionic
dne
focal
dne
jammy
ignored
mantic
dne
noble
dne
oracular
dne
trusty
dne
xenial
dne
linux-oem-6.0
bionic
dne
focal
dne
jammy
ignored
mantic
dne
noble
dne
oracular
dne
trusty
dne
xenial
dne
linux-oem-6.1
bionic
dne
focal
dne
jammy
ignored
mantic
dne
noble
dne
oracular
dne
trusty
dne
xenial
dne
linux-oem-6.5
bionic
dne
focal
dne
jammy
ignored
mantic
dne
noble
dne
oracular
dne
trusty
dne
xenial
dne
linux-oem-6.8
bionic
dne
focal
dne
jammy
dne
mantic
dne
noble
Fixed 6.8.0-1012.12
released
oracular
dne
trusty
dne
xenial
dne
linux-raspi2
bionic
ignored
focal
ignored
jammy
dne
mantic
dne
noble
dne
oracular
dne
trusty
dne
xenial
ignored
linux-raspi-5.4
bionic
not-affected
focal
dne
jammy
dne
mantic
dne
noble
dne
oracular
dne
trusty
dne
xenial
dne
linux-riscv
bionic
dne
focal
ignored
jammy
ignored
mantic
ignored
noble
Fixed 6.8.0-44.44.1
released
oracular
not-affected
trusty
dne
xenial
dne
linux-riscv-5.8
bionic
dne
focal
ignored
jammy
dne
mantic
dne
noble
dne
oracular
dne
trusty
dne
xenial
dne
linux-riscv-5.11
bionic
dne
focal
ignored
jammy
dne
mantic
dne
noble
dne
oracular
dne
trusty
dne
xenial
dne
linux-riscv-5.15
bionic
dne
focal
not-affected
jammy
dne
mantic
dne
noble
dne
oracular
dne
trusty
dne
xenial
dne
linux-riscv-5.19
bionic
dne
focal
dne
jammy
ignored
mantic
dne
noble
dne
oracular
dne
trusty
dne
xenial
dne
linux-riscv-6.5
bionic
dne
focal
dne
jammy
ignored
mantic
dne
noble
dne
oracular
dne
trusty
dne
xenial
dne
linux-starfive
bionic
dne
focal
dne
jammy
dne
mantic
ignored
noble
dne
oracular
dne
trusty
dne
xenial
dne
linux-starfive-5.19
bionic
dne
focal
dne
jammy
ignored
mantic
dne
noble
dne
oracular
dne
trusty
dne
xenial
dne
linux-starfive-6.2
bionic
dne
focal
dne
jammy
ignored
mantic
dne
noble
dne
oracular
dne
trusty
dne
xenial
dne
linux-starfive-6.5
bionic
dne
focal
dne
jammy
ignored
mantic
dne
noble
dne
oracular
dne
trusty
dne
xenial
dne
linux-xilinx-zynqmp
bionic
dne
focal
not-affected
jammy
not-affected
mantic
dne
noble
dne
oracular
dne
trusty
dne
xenial
dne
linux
bionic
not-affected
focal
not-affected
jammy
not-affected
mantic
ignored
noble
Fixed 6.8.0-44.44
released
oracular
not-affected
trusty
not-affected
xenial
not-affected
linux-aws
bionic
not-affected
focal
not-affected
jammy
not-affected
mantic
ignored
noble
Fixed 6.8.0-1015.16
released
oracular
not-affected
trusty
not-affected
xenial
not-affected
linux-oracle
bionic
not-affected
focal
not-affected
jammy
not-affected
mantic
ignored
noble
Fixed 6.8.0-1012.12
released
oracular
not-affected
trusty
dne
xenial
not-affected
linux-raspi
bionic
dne
focal
not-affected
jammy
not-affected
mantic
ignored
noble
Fixed 6.8.0-1011.12
released
oracular
not-affected
trusty
dne
xenial
dne
linux-nvidia-6.8
bionic
dne
focal
dne
jammy
Fixed 6.8.0-1013.14~22.04.1
released
noble
dne
oracular
dne
trusty
dne
xenial
dne
linux-nvidia-lowlatency
bionic
dne
focal
dne
jammy
dne
noble
Fixed 6.8.0-1013.14.1
released
oracular
dne
trusty
dne
xenial
dne
linux-hwe-6.8
bionic
dne
focal
dne
jammy
Fixed 6.8.0-45.45~22.04.1
released
noble
dne
oracular
dne
trusty
dne
xenial
dne
linux-lowlatency-hwe-6.8
bionic
dne
focal
dne
jammy
Fixed 6.8.0-44.44.1~22.04.1
released
noble
dne
oracular
dne
trusty
dne
xenial
dne
linux-riscv-6.8
bionic
dne
focal
dne
jammy
Fixed 6.8.0-44.44.1~22.04.1
released
noble
dne
oracular
dne
trusty
dne
xenial
dne
linux-intel-iot-realtime
bionic
dne
focal
dne
jammy
not-affected
noble
dne
oracular
dne
trusty
dne
xenial
dne
linux-raspi-realtime
bionic
dne
focal
dne
jammy
dne
noble
Fixed 6.8.0-2010.10
released
oracular
dne
trusty
dne
xenial
dne
linux-realtime
bionic
dne
focal
dne
jammy
not-affected
noble
Fixed 6.8.1-1008.8
released
oracular
not-affected
trusty
dne
xenial
dne
linux-aws-6.8
bionic
dne
focal
dne
jammy
Fixed 6.8.0-1015.16~22.04.1
released
noble
dne
oracular
dne
trusty
dne
xenial
dne
linux-gcp-6.8
bionic
dne
focal
dne
jammy
Fixed 6.8.0-1014.16~22.04.1
released
noble
dne
oracular
dne
trusty
dne
xenial
dne
linux-oracle-6.8
bionic
dne
focal
dne
jammy
Fixed 6.8.0-1012.12~22.04.1
released
noble
dne
oracular
dne
trusty
dne
xenial
dne
linux-azure-6.8
bionic
dne
focal
dne
jammy
Fixed 6.8.0-1014.16~22.04.1
released
noble
dne
oracular
dne
trusty
dne
xenial
dne
linux-oem-6.11
bionic
dne
focal
dne
jammy
dne
noble
not-affected
oracular
dne
trusty
dne
xenial
dne