CVE-2026-90178

hwmon: (coretemp) Fix core_data leak on CPUs without PTS

State
Published
Severity
Not scored
Published
Sep 17, 2026
Updated
Oct 19, 2026
Reserved
Sep 11, 2026

Read the record on cve.org

Description

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

hwmon: (coretemp) Fix core_data leak on CPUs without PTS

pdata->core_data is allocated in init_temp_data() when the first core temp_data of a package is created, but it is only released from destroy_temp_data(), and only in the branch that handles the package temp_data.

Package temp_data is created solely when the CPU supports X86_FEATURE_PTS. On a CPU without it, coretemp_cpu_online() never calls coretemp_add_core() with pkg_flag set, so pdata->pkg_data stays NULL. coretemp_cpu_offline() then skips the removal of the package interface, destroy_temp_data() is never called for package data, and the array is still allocated when coretemp_device_remove() frees the platform data that pointed at it.

Release the array in coretemp_device_remove(). destroy_temp_data() sets pdata->core_data to NULL when it frees it, so the added kfree() is a no-op on CPUs that do have PTS.

Tested on an Intel Core i5-1135G7. The driver was instrumented to log every allocation and release of pdata->core_data, and the PTS check in coretemp_cpu_online() was patched out to emulate a CPU without package thermal support. Without this change the array was allocated and never released, and coretemp_device_remove() still saw a non-NULL pointer. With it the array is released and the pointer accounting balances. On an unmodified build the release still happens via the package temp_data and the added kfree() sees NULL, with no slab warnings over repeated module load and unload cycles.

Scores

The record has no CVSS score.

Weaknesses

The record names no weakness.

Affected Products

ProductVersions
LinuxLinux
  • 1a793caf6f6991716cb07583ed7c27de84ef0cba to before dc0d79b1be384e7f6a2308356afd10dcf3bf940fAffected
  • 1a793caf6f6991716cb07583ed7c27de84ef0cba to before 86c1617b7d4b001b20a71deda3c791538a4fa6aaAffected
  • 1a793caf6f6991716cb07583ed7c27de84ef0cba to before 9b23a010a1e8232974617c412cb9f578f3378b70Affected
  • 1a793caf6f6991716cb07583ed7c27de84ef0cba to before 0cd8450c257faa0cece0e0c43d3b55d1a389acc7Affected
LinuxLinux
  • 6.9Affected
  • before 6.9Not affected
  • 6.12.110 through 6.12.*Not affected
  • 6.18.52 through 6.18.*Not affected
  • 7.2.6 through 7.2.*Not affected
  • 7.3 and laterNot affected

References

Every record here comes from the CVE Program’s CVE List. © 1999–2026 The MITRE Corporation. CVE is a registered trademark of The MITRE Corporation. The records are reproduced under the CVE Program terms of use.