CVE-2021-47441: Vulnerability in Linux Linux
In the Linux kernel, the following vulnerability has been resolved: mlxsw: thermal: Fix out-of-bounds memory accesses Currently, mlxsw allows cooling states to be set above the maximum cooling state supported by the driver: # cat /sys/class/thermal/thermal_zone2/cdev0/type mlxsw_fan # cat /sys/class/thermal/thermal_zone2/cdev0/max_state 10 # echo 18 > /sys/class/thermal/thermal_zone2/cdev0/cur_state # echo $? 0 This results in out-of-bounds memory accesses when thermal state transition statistics are enabled (CONFIG_THERMAL_STATISTICS=y), as the transition table is accessed with a too large index (state) [1]. According to the thermal maintainer, it is the responsibility of the driver to reject such operations [2]. Therefore, return an error when the state to be set exceeds the maximum cooling state supported by the driver. To avoid dead code, as suggested by the thermal maintainer [3], partially revert commit a421ce088ac8 ("mlxsw: core: Extend cooling device with cooling levels") that tried to interpret these invalid cooling states (above the maximum) in a special way. The cooling levels array is not removed in order to prevent the fans going below 20% PWM, which would cause them to get stuck at 0% PWM. [1] BUG: KASAN: slab-out-of-bounds in thermal_cooling_device_stats_update+0x271/0x290 Read of size 4 at addr ffff8881052f7bf8 by task kworker/0:0/5 CPU: 0 PID: 5 Comm: kworker/0:0 Not tainted 5.15.0-rc3-custom-45935-gce1adf704b14 #122 Hardware name: Mellanox Technologies Ltd. "MSN2410-CB2FO"/"SA000874", BIOS 4.6.5 03/08/2016 Workqueue: events_freezable_power_ thermal_zone_device_check Call Trace: dump_stack_lvl+0x8b/0xb3 print_address_description.constprop.0+0x1f/0x140 kasan_report.cold+0x7f/0x11b thermal_cooling_device_stats_update+0x271/0x290 __thermal_cdev_update+0x15e/0x4e0 thermal_cdev_update+0x9f/0xe0 step_wise_throttle+0x770/0xee0 thermal_zone_device_update+0x3f6/0xdf0 process_one_work+0xa42/0x1770 worker_thread+0x62f/0x13e0 kthread+0x3ee/0x4e0 ret_from_fork+0x1f/0x30 Allocated by task 1: kasan_save_stack+0x1b/0x40 __kasan_kmalloc+0x7c/0x90 thermal_cooling_device_setup_sysfs+0x153/0x2c0 __thermal_cooling_device_register.part.0+0x25b/0x9c0 thermal_cooling_device_register+0xb3/0x100 mlxsw_thermal_init+0x5c5/0x7e0 __mlxsw_core_bus_device_register+0xcb3/0x19c0 mlxsw_core_bus_device_register+0x56/0xb0 mlxsw_pci_probe+0x54f/0x710 local_pci_probe+0xc6/0x170 pci_device_probe+0x2b2/0x4d0 really_probe+0x293/0xd10 __driver_probe_device+0x2af/0x440 driver_probe_device+0x51/0x1e0 __driver_attach+0x21b/0x530 bus_for_each_dev+0x14c/0x1d0 bus_add_driver+0x3ac/0x650 driver_register+0x241/0x3d0 mlxsw_sp_module_init+0xa2/0x174 do_one_initcall+0xee/0x5f0 kernel_init_freeable+0x45a/0x4de kernel_init+0x1f/0x210 ret_from_fork+0x1f/0x30 The buggy address belongs to the object at ffff8881052f7800 which belongs to the cache kmalloc-1k of size 1024 The buggy address is located 1016 bytes inside of 1024-byte region [ffff8881052f7800, ffff8881052f7c00) The buggy address belongs to the page: page:0000000052355272 refcount:1 mapcount:0 mapping:0000000000000000 index:0x0 pfn:0x1052f0 head:0000000052355272 order:3 compound_mapcount:0 compound_pincount:0 flags: 0x200000000010200(slab|head|node=0|zone=2) raw: 0200000000010200 ffffea0005034800 0000000300000003 ffff888100041dc0 raw: 0000000000000000 0000000000100010 00000001ffffffff 0000000000000000 page dumped because: kasan: bad access detected Memory state around the buggy address: ffff8881052f7a80: 00 00 00 00 00 00 04 fc fc fc fc fc fc fc fc fc ffff8881052f7b00: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc >ffff8881052f7b80: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc ^ ffff8881052f7c00: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc ffff8881052f7c80: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc [2] https://lore.kernel.org/linux-pm/9aca37cb-1629-5c67- ---truncated---
AI Analysis
Technical Summary
CVE-2021-47441 is a high-severity vulnerability in the Linux kernel's mlxsw driver, which handles thermal management for Mellanox network devices. The flaw arises because the mlxsw driver permits setting cooling states beyond the maximum cooling state supported by the driver. Specifically, the driver does not properly validate the 'cur_state' value written to the thermal cooling device sysfs interface, allowing values exceeding the 'max_state'. When thermal state transition statistics are enabled (CONFIG_THERMAL_STATISTICS=y), this leads to out-of-bounds memory accesses in the thermal_cooling_device_stats_update function. The vulnerability is a classic buffer over-read/write scenario (CWE-787), where the driver accesses memory beyond allocated bounds due to an unchecked index. This can cause kernel memory corruption, potentially leading to system instability, crashes (denial of service), or elevation of privileges if exploited by a local attacker with limited privileges (PR:L). The vulnerability does not require user interaction (UI:N) but does require local privileges to write to the thermal cooling device interface. The Linux kernel patch reverts a prior commit that tried to interpret invalid cooling states and enforces strict validation to reject cooling states above the maximum supported. The issue was identified in Linux kernel versions including 5.15.0-rc3 and likely affects other versions using the mlxsw driver. The vulnerability has a CVSS v3.1 score of 7.3, reflecting high impact on confidentiality and availability, with limited integrity impact. No known exploits are reported in the wild as of publication. The root cause is a lack of input validation in the mlxsw thermal driver, leading to out-of-bounds memory access and potential kernel memory corruption.
Potential Impact
For European organizations, this vulnerability poses a significant risk primarily to systems running Linux kernels with the mlxsw driver enabled, which is common in environments using Mellanox network hardware, such as data centers, cloud providers, and enterprises with high-performance networking infrastructure. Exploitation could allow a local attacker to cause denial of service by crashing the kernel or potentially escalate privileges, compromising system confidentiality and availability. This could lead to disruption of critical network services, data breaches, or lateral movement within networks. Organizations relying on Linux-based network appliances or servers with Mellanox hardware are particularly at risk. Given the high adoption of Linux in European telecom, cloud, and research infrastructures, the vulnerability could impact critical infrastructure and services. However, exploitation requires local access and the ability to write to thermal sysfs interfaces, which may limit remote exploitation but does not eliminate insider threats or attacks via compromised accounts. The absence of known exploits reduces immediate risk but patching is critical to prevent future attacks. The impact on confidentiality is high due to potential kernel memory corruption, which might expose sensitive data. Availability impact is also high due to possible kernel crashes. Integrity impact is lower but cannot be ruled out entirely.
Mitigation Recommendations
European organizations should implement the following specific mitigation steps: 1) Identify all Linux systems using Mellanox network hardware and verify kernel versions and driver configurations. 2) Apply the official Linux kernel patches that enforce validation of cooling states in the mlxsw driver as soon as they become available from trusted Linux distributions or backport patches if necessary. 3) If patching is delayed, restrict write permissions to the thermal cooling device sysfs interfaces (/sys/class/thermal/thermal_zone*/cdev*/cur_state) to trusted administrators only, preventing unprivileged users from triggering the vulnerability. 4) Monitor system logs for any unusual thermal sysfs writes or kernel warnings related to thermal_cooling_device_stats_update or KASAN slab-out-of-bounds errors. 5) Employ kernel runtime security tools that can detect out-of-bounds memory accesses or anomalous thermal driver behavior. 6) Conduct internal audits to ensure no unauthorized local access exists on critical systems. 7) Educate system administrators about the risk and signs of exploitation attempts. 8) For environments using custom or older kernels, consider backporting the patch or disabling thermal statistics if feasible, as a temporary workaround. These measures go beyond generic advice by focusing on access control to the vulnerable interface, proactive monitoring, and targeted patch management for affected hardware and drivers.
Affected Countries
Germany, France, United Kingdom, Netherlands, Sweden, Finland, Italy, Spain
CVE-2021-47441: Vulnerability in Linux Linux
Description
In the Linux kernel, the following vulnerability has been resolved: mlxsw: thermal: Fix out-of-bounds memory accesses Currently, mlxsw allows cooling states to be set above the maximum cooling state supported by the driver: # cat /sys/class/thermal/thermal_zone2/cdev0/type mlxsw_fan # cat /sys/class/thermal/thermal_zone2/cdev0/max_state 10 # echo 18 > /sys/class/thermal/thermal_zone2/cdev0/cur_state # echo $? 0 This results in out-of-bounds memory accesses when thermal state transition statistics are enabled (CONFIG_THERMAL_STATISTICS=y), as the transition table is accessed with a too large index (state) [1]. According to the thermal maintainer, it is the responsibility of the driver to reject such operations [2]. Therefore, return an error when the state to be set exceeds the maximum cooling state supported by the driver. To avoid dead code, as suggested by the thermal maintainer [3], partially revert commit a421ce088ac8 ("mlxsw: core: Extend cooling device with cooling levels") that tried to interpret these invalid cooling states (above the maximum) in a special way. The cooling levels array is not removed in order to prevent the fans going below 20% PWM, which would cause them to get stuck at 0% PWM. [1] BUG: KASAN: slab-out-of-bounds in thermal_cooling_device_stats_update+0x271/0x290 Read of size 4 at addr ffff8881052f7bf8 by task kworker/0:0/5 CPU: 0 PID: 5 Comm: kworker/0:0 Not tainted 5.15.0-rc3-custom-45935-gce1adf704b14 #122 Hardware name: Mellanox Technologies Ltd. "MSN2410-CB2FO"/"SA000874", BIOS 4.6.5 03/08/2016 Workqueue: events_freezable_power_ thermal_zone_device_check Call Trace: dump_stack_lvl+0x8b/0xb3 print_address_description.constprop.0+0x1f/0x140 kasan_report.cold+0x7f/0x11b thermal_cooling_device_stats_update+0x271/0x290 __thermal_cdev_update+0x15e/0x4e0 thermal_cdev_update+0x9f/0xe0 step_wise_throttle+0x770/0xee0 thermal_zone_device_update+0x3f6/0xdf0 process_one_work+0xa42/0x1770 worker_thread+0x62f/0x13e0 kthread+0x3ee/0x4e0 ret_from_fork+0x1f/0x30 Allocated by task 1: kasan_save_stack+0x1b/0x40 __kasan_kmalloc+0x7c/0x90 thermal_cooling_device_setup_sysfs+0x153/0x2c0 __thermal_cooling_device_register.part.0+0x25b/0x9c0 thermal_cooling_device_register+0xb3/0x100 mlxsw_thermal_init+0x5c5/0x7e0 __mlxsw_core_bus_device_register+0xcb3/0x19c0 mlxsw_core_bus_device_register+0x56/0xb0 mlxsw_pci_probe+0x54f/0x710 local_pci_probe+0xc6/0x170 pci_device_probe+0x2b2/0x4d0 really_probe+0x293/0xd10 __driver_probe_device+0x2af/0x440 driver_probe_device+0x51/0x1e0 __driver_attach+0x21b/0x530 bus_for_each_dev+0x14c/0x1d0 bus_add_driver+0x3ac/0x650 driver_register+0x241/0x3d0 mlxsw_sp_module_init+0xa2/0x174 do_one_initcall+0xee/0x5f0 kernel_init_freeable+0x45a/0x4de kernel_init+0x1f/0x210 ret_from_fork+0x1f/0x30 The buggy address belongs to the object at ffff8881052f7800 which belongs to the cache kmalloc-1k of size 1024 The buggy address is located 1016 bytes inside of 1024-byte region [ffff8881052f7800, ffff8881052f7c00) The buggy address belongs to the page: page:0000000052355272 refcount:1 mapcount:0 mapping:0000000000000000 index:0x0 pfn:0x1052f0 head:0000000052355272 order:3 compound_mapcount:0 compound_pincount:0 flags: 0x200000000010200(slab|head|node=0|zone=2) raw: 0200000000010200 ffffea0005034800 0000000300000003 ffff888100041dc0 raw: 0000000000000000 0000000000100010 00000001ffffffff 0000000000000000 page dumped because: kasan: bad access detected Memory state around the buggy address: ffff8881052f7a80: 00 00 00 00 00 00 04 fc fc fc fc fc fc fc fc fc ffff8881052f7b00: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc >ffff8881052f7b80: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc ^ ffff8881052f7c00: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc ffff8881052f7c80: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc [2] https://lore.kernel.org/linux-pm/9aca37cb-1629-5c67- ---truncated---
AI-Powered Analysis
Technical Analysis
CVE-2021-47441 is a high-severity vulnerability in the Linux kernel's mlxsw driver, which handles thermal management for Mellanox network devices. The flaw arises because the mlxsw driver permits setting cooling states beyond the maximum cooling state supported by the driver. Specifically, the driver does not properly validate the 'cur_state' value written to the thermal cooling device sysfs interface, allowing values exceeding the 'max_state'. When thermal state transition statistics are enabled (CONFIG_THERMAL_STATISTICS=y), this leads to out-of-bounds memory accesses in the thermal_cooling_device_stats_update function. The vulnerability is a classic buffer over-read/write scenario (CWE-787), where the driver accesses memory beyond allocated bounds due to an unchecked index. This can cause kernel memory corruption, potentially leading to system instability, crashes (denial of service), or elevation of privileges if exploited by a local attacker with limited privileges (PR:L). The vulnerability does not require user interaction (UI:N) but does require local privileges to write to the thermal cooling device interface. The Linux kernel patch reverts a prior commit that tried to interpret invalid cooling states and enforces strict validation to reject cooling states above the maximum supported. The issue was identified in Linux kernel versions including 5.15.0-rc3 and likely affects other versions using the mlxsw driver. The vulnerability has a CVSS v3.1 score of 7.3, reflecting high impact on confidentiality and availability, with limited integrity impact. No known exploits are reported in the wild as of publication. The root cause is a lack of input validation in the mlxsw thermal driver, leading to out-of-bounds memory access and potential kernel memory corruption.
Potential Impact
For European organizations, this vulnerability poses a significant risk primarily to systems running Linux kernels with the mlxsw driver enabled, which is common in environments using Mellanox network hardware, such as data centers, cloud providers, and enterprises with high-performance networking infrastructure. Exploitation could allow a local attacker to cause denial of service by crashing the kernel or potentially escalate privileges, compromising system confidentiality and availability. This could lead to disruption of critical network services, data breaches, or lateral movement within networks. Organizations relying on Linux-based network appliances or servers with Mellanox hardware are particularly at risk. Given the high adoption of Linux in European telecom, cloud, and research infrastructures, the vulnerability could impact critical infrastructure and services. However, exploitation requires local access and the ability to write to thermal sysfs interfaces, which may limit remote exploitation but does not eliminate insider threats or attacks via compromised accounts. The absence of known exploits reduces immediate risk but patching is critical to prevent future attacks. The impact on confidentiality is high due to potential kernel memory corruption, which might expose sensitive data. Availability impact is also high due to possible kernel crashes. Integrity impact is lower but cannot be ruled out entirely.
Mitigation Recommendations
European organizations should implement the following specific mitigation steps: 1) Identify all Linux systems using Mellanox network hardware and verify kernel versions and driver configurations. 2) Apply the official Linux kernel patches that enforce validation of cooling states in the mlxsw driver as soon as they become available from trusted Linux distributions or backport patches if necessary. 3) If patching is delayed, restrict write permissions to the thermal cooling device sysfs interfaces (/sys/class/thermal/thermal_zone*/cdev*/cur_state) to trusted administrators only, preventing unprivileged users from triggering the vulnerability. 4) Monitor system logs for any unusual thermal sysfs writes or kernel warnings related to thermal_cooling_device_stats_update or KASAN slab-out-of-bounds errors. 5) Employ kernel runtime security tools that can detect out-of-bounds memory accesses or anomalous thermal driver behavior. 6) Conduct internal audits to ensure no unauthorized local access exists on critical systems. 7) Educate system administrators about the risk and signs of exploitation attempts. 8) For environments using custom or older kernels, consider backporting the patch or disabling thermal statistics if feasible, as a temporary workaround. These measures go beyond generic advice by focusing on access control to the vulnerable interface, proactive monitoring, and targeted patch management for affected hardware and drivers.
Affected Countries
For access to advanced analysis and higher rate limits, contact root@offseq.com
Technical Details
- Data Version
- 5.1
- Assigner Short Name
- Linux
- Date Reserved
- 2024-05-21T14:58:30.831Z
- Cisa Enriched
- true
- Cvss Version
- 3.1
- State
- PUBLISHED
Threat ID: 682d9833c4522896dcbe915c
Added to database: 5/21/2025, 9:09:07 AM
Last enriched: 7/3/2025, 5:12:12 AM
Last updated: 8/13/2025, 12:05:12 AM
Views: 17
Related Threats
CVE-2025-52621: CWE-346 Origin Validation Error in HCL Software BigFix SaaS Remediate
MediumCVE-2025-52620: CWE-20 Improper Input Validation in HCL Software BigFix SaaS Remediate
MediumCVE-2025-52619: CWE-209 Generation of Error Message Containing Sensitive Information in HCL Software BigFix SaaS Remediate
MediumCVE-2025-52618: CWE-89 Improper Neutralization of Special Elements used in an SQL Command ('SQL Injection') in HCL Software BigFix SaaS Remediate
MediumCVE-2025-43201: An app may be able to unexpectedly leak a user's credentials in Apple Apple Music Classical for Android
HighActions
Updates to AI analysis are available only with a Pro account. Contact root@offseq.com for access.
External Links
Need enhanced features?
Contact root@offseq.com for Pro access with improved analysis and higher rate limits.