CVE-2024-46757
High · 7.8CVSS
7.8
EPSS
—
Published
Sep 18, 2024
CISA due date
—
Cloudanix analysis
A bug in how the Linux kernel handles certain hardware monitoring settings on some systems can let a local user crash the machine by feeding it an extremely large negative number.
- Exploitation
- Local Privilege
- Attacker needs
- Local User
- Complexity
- Low
- Impact
- Other
- Component
- OS kernel
- Class
- Improper Input Validation
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
Underflow occurs in nct6775-core hwmon driver when DIV_ROUND_CLOSEST() processes a large negative value returned by kstrtol() on limit attribute writes; reordering clamp_val() before the division prevents the wrap-around.
Why it matters to the business
Unpatched systems risk kernel instability or crashes when monitoring hardware limits are written with crafted negative values, potentially disrupting server availability and requiring emergency reboots in production Linux environments.
How an attack unfolds
An attacker with local write access to hwmon sysfs limit attributes supplies an extremely large negative integer; the flawed ordering of conversion and clamping produces an underflow that can corrupt kernel state or trigger a crash.
How to fix it
Upgrade linux package on Debian 11 to version 5.10.226-1 or later; rebuild and reboot into the fixed kernel; verify with uname -r after installation.
How to confirm the fix worked
Confirm installed kernel version is at least 5.10.226-1, test writing both large negative and positive values to hwmon limit attributes without underflow, and monitor dmesg for related warnings.
Typical attack path
- Obtain local shell or process on affected Debian 11 system
- Locate nct6775 hwmon device under /sys/class/hwmon
- Write large negative value to a limit attribute such as temp1_max
- Trigger underflow via DIV_ROUND_CLOSEST after kstrtol
- Observe kernel panic or memory corruption
How to detect it
Search kernel logs and audit trails for underflow warnings or crashes in nct6775-core around hwmon attribute writes; correlate with unusual negative values in sysfs writes if extended logging is enabled.
What your security team should do
- Prioritize patching Debian 11 systems to linux 5.10.226-1 within maintenance windows
- Restrict unprivileged write access to hwmon sysfs entries via file permissions or SELinux policies
- Add kernel version checks to vulnerability scanners and asset inventories
- Review recent hwmon attribute writes in audit logs for anomalous negative values
The record
In the Linux kernel, the following vulnerability has been resolved: hwmon: (nct6775-core) Fix underflows seen when writing limit attributes DIV_ROUND_CLOSEST() after kstrtol() results in an underflow if a large negative number such as -9223372036854775808 is provided by the user. Fix it by reordering clamp_val() and DIV_ROUND_CLOSEST() operations.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| Debian:11 | linux | 0 | No fix |
| Debian:11 | linux | 0 | 5.10.226-1 |
| Debian:11 | linux-6.1 | 0 | 6.1.119-1~deb11u1 |
| Debian:12 | linux | 0 | 6.1.112-1 |
| Debian:13 | linux | 0 | 6.10.11-1 |
| Mageia:9 | kernel | 0 | 6.6.52-1.mga9 |
| Mageia:9 | kernel-linus | 0 | 6.6.52-1.mga9 |
| Mageia:9 | kmod-virtualbox | 0 | 7.0.20-54.mga9 |
| Mageia:9 | kmod-xtables-addons | 0 | 3.24-62.mga9 |
| SUSE:Linux Enterprise High Availability Extension 15 SP6 | kernel-default | 0 | 6.4.0-150600.23.25.1 |
| SUSE:Linux Enterprise Live Patching 15 SP6 | kernel-default | 0 | 6.4.0-150600.23.25.1 |
| SUSE:Linux Enterprise Live Patching 15 SP6 | kernel-livepatch-SLE15-SP6-RT_Update_4 | 0 | 1-150600.1.3.1 |
| SUSE:Linux Enterprise Live Patching 15 SP6 | kernel-livepatch-SLE15-SP6_Update_5 | 0 | 1-150600.13.3.1 |
| SUSE:Linux Enterprise Module for Basesystem 15 SP6 | kernel-64kb | 0 | 6.4.0-150600.23.25.1 |
| SUSE:Linux Enterprise Module for Basesystem 15 SP6 | kernel-default | 0 | 6.4.0-150600.23.25.1 |
| SUSE:Linux Enterprise Module for Basesystem 15 SP6 | kernel-default-base | 0 | 6.4.0-150600.23.25.1.150600.12.10.2 |
| SUSE:Linux Enterprise Module for Basesystem 15 SP6 | kernel-source | 0 | 6.4.0-150600.23.25.1 |
| SUSE:Linux Enterprise Module for Basesystem 15 SP6 | kernel-zfcpdump | 0 | 6.4.0-150600.23.25.1 |
| SUSE:Linux Enterprise Module for Confidential Computing Technical Preview 15 SP6 | kernel-coco | 0 | 6.4.0-15061.6.coco15sp6.1 |
| SUSE:Linux Enterprise Module for Confidential Computing Technical Preview 15 SP6 | kernel-coco_debug | 0 | 6.4.0-15061.6.coco15sp6.1 |
| SUSE:Linux Enterprise Module for Confidential Computing Technical Preview 15 SP6 | kernel-source-coco | 0 | 6.4.0-15061.6.coco15sp6.1 |
| SUSE:Linux Enterprise Module for Confidential Computing Technical Preview 15 SP6 | kernel-syms-coco | 0 | 6.4.0-15061.6.coco15sp6.1 |
| SUSE:Linux Enterprise Module for Development Tools 15 SP6 | kernel-docs | 0 | 6.4.0-150600.23.25.2 |
| SUSE:Linux Enterprise Module for Development Tools 15 SP6 | kernel-obs-build | 0 | 6.4.0-150600.23.25.2 |
| SUSE:Linux Enterprise Module for Development Tools 15 SP6 | kernel-source | 0 | 6.4.0-150600.23.25.1 |
| SUSE:Linux Enterprise Module for Development Tools 15 SP6 | kernel-syms | 0 | 6.4.0-150600.23.25.1 |
| SUSE:Linux Enterprise Module for Legacy 15 SP6 | kernel-default | 0 | 6.4.0-150600.23.25.1 |
| SUSE:Linux Enterprise Module for Public Cloud 15 SP6 | kernel-azure | 0 | 6.4.0-150600.8.14.1 |
| SUSE:Linux Enterprise Module for Public Cloud 15 SP6 | kernel-source-azure | 0 | 6.4.0-150600.8.14.1 |
| SUSE:Linux Enterprise Module for Public Cloud 15 SP6 | kernel-syms-azure | 0 | 6.4.0-150600.8.14.1 |
| SUSE:Linux Enterprise Workstation Extension 15 SP6 | kernel-default | 0 | 6.4.0-150600.23.25.1 |
| SUSE:Real Time Module 15 SP6 | kernel-rt | 0 | 6.4.0-150600.10.14.1 |
| SUSE:Real Time Module 15 SP6 | kernel-rt_debug | 0 | 6.4.0-150600.10.14.1 |
| SUSE:Real Time Module 15 SP6 | kernel-source-rt | 0 | 6.4.0-150600.10.14.1 |
| SUSE:Real Time Module 15 SP6 | kernel-syms-rt | 0 | 6.4.0-150600.10.14.1 |
| Ubuntu:16.04:LTS | linux-hwe-edge | 0 | No fix |
| 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-azure | 0 | No fix |
| Ubuntu:18.04:LTS | linux-azure-5.3 | 0 | No fix |
| 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-5.3 | 0 | No fix |
| 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-edge | 0 | No fix |
| Ubuntu:18.04:LTS | linux-oem | 0 | No fix |
| Ubuntu:18.04:LTS | linux-oracle-5.0 | 0 | No fix |
| Ubuntu:18.04:LTS | linux-oracle-5.3 | 0 | No fix |
| Ubuntu:20.04:LTS | linux | 0 | 5.4.0-200.220 |
| Ubuntu:20.04:LTS | linux-aws | 0 | 5.4.0-1135.145 |
| 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-1072.78~20.04.1 |
| Ubuntu:20.04:LTS | linux-aws-5.8 | 0 | No fix |
| Ubuntu:20.04:LTS | linux-azure | 0 | 5.4.0-1140.147 |
| 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-1078.87~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 | No fix |
| Ubuntu:20.04:LTS | linux-bluefield | 0 | 5.4.0-1095.102 |
| Ubuntu:20.04:LTS | linux-gcp | 0 | 5.4.0-1139.148 |
| 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-1071.79~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-1102.106 |
| Ubuntu:20.04:LTS | linux-gkeop-5.15 | 0 | 5.15.0-1055.62~20.04.1 |
| 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-125.135~20.04.1 |
| Ubuntu:20.04:LTS | linux-hwe-5.8 | 0 | No fix |
| Ubuntu:20.04:LTS | linux-ibm | 0 | 5.4.0-1082.87 |
| Ubuntu:20.04:LTS | linux-ibm-5.15 | 0 | 5.15.0-1065.68~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-1067.73~20.04.1 |
| Ubuntu:20.04:LTS | linux-iot | 0 | 5.4.0-1044.45 |
| Ubuntu:20.04:LTS | linux-kvm | 0 | 5.4.0-1123.131 |
| Ubuntu:20.04:LTS | linux-lowlatency-hwe-5.15 | 0 | 5.15.0-125.135~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-1134.143 |
| 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-1070.76~20.04.1 |
| Ubuntu:20.04:LTS | linux-oracle-5.8 | 0 | No fix |
| Ubuntu:20.04:LTS | linux-raspi | 0 | 5.4.0-1119.131 |
| 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-1068.72~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-1054.58 |
| Ubuntu:22.04:LTS | linux | 0 | 5.15.0-125.135 |
| Ubuntu:22.04:LTS | linux-allwinner-5.19 | 0 | No fix |
| Ubuntu:22.04:LTS | linux-aws | 0 | 5.15.0-1072.78 |
| Ubuntu:22.04:LTS | linux-aws-5.19 | 0 | No fix |
| Ubuntu:22.04:LTS | linux-aws-6.2 | 0 | No fix |
| Ubuntu:22.04:LTS | linux-aws-6.5 | 0 | No fix |
| Ubuntu:22.04:LTS | linux-aws-6.8 | 0 | 6.8.0-1020.22~22.04.1 |
| Ubuntu:22.04:LTS | linux-azure | 0 | 5.15.0-1075.84 |
| Ubuntu:22.04:LTS | linux-azure-5.19 | 0 | No fix |
| Ubuntu:22.04:LTS | linux-azure-6.2 | 0 | No fix |
| Ubuntu:22.04:LTS | linux-azure-6.5 | 0 | No fix |
| Ubuntu:22.04:LTS | linux-azure-6.8 | 0 | 6.8.0-1020.23~22.04.1 |
| Ubuntu:22.04:LTS | linux-azure-fde | 0 | No fix |
| Ubuntu:22.04:LTS | linux-azure-fde-5.19 | 0 | No fix |
| Ubuntu:22.04:LTS | linux-azure-fde-6.2 | 0 | No fix |
| Ubuntu:22.04:LTS | linux-gcp | 0 | 5.15.0-1071.79 |
| Ubuntu:22.04:LTS | linux-gcp-5.19 | 0 | No fix |
| Ubuntu:22.04:LTS | linux-gcp-6.2 | 0 | No fix |
| Ubuntu:22.04:LTS | linux-gcp-6.5 | 0 | No fix |
| Ubuntu:22.04:LTS | linux-gcp-6.8 | 0 | 6.8.0-1019.21~22.04.1 |
| Ubuntu:22.04:LTS | linux-gke | 0 | 5.15.0-1069.75 |
| Ubuntu:22.04:LTS | linux-gkeop | 0 | 5.15.0-1055.62 |
| Ubuntu:22.04:LTS | linux-hwe-5.19 | 0 | No fix |
| Ubuntu:22.04:LTS | linux-hwe-6.2 | 0 | No fix |
| Ubuntu:22.04:LTS | linux-hwe-6.5 | 0 | No fix |
| Ubuntu:22.04:LTS | linux-hwe-6.8 | 0 | 6.8.0-50.51~22.04.1 |
| Ubuntu:22.04:LTS | linux-ibm | 0 | 5.15.0-1065.68 |
| Ubuntu:22.04:LTS | linux-intel-iot-realtime | 0 | No fix |
| Ubuntu:22.04:LTS | linux-intel-iotg | 0 | 5.15.0-1067.73 |
| Ubuntu:22.04:LTS | linux-kvm | 0 | 5.15.0-1069.74 |
| Ubuntu:22.04:LTS | linux-lowlatency | 0 | 5.15.0-125.135 |
| Ubuntu:22.04:LTS | linux-lowlatency-hwe-5.19 | 0 | No fix |
| Ubuntu:22.04:LTS | linux-lowlatency-hwe-6.2 | 0 | No fix |
| Ubuntu:22.04:LTS | linux-lowlatency-hwe-6.5 | 0 | No fix |
| Ubuntu:22.04:LTS | linux-lowlatency-hwe-6.8 | 0 | 6.8.0-50.51.1~22.04.1 |
| Ubuntu:22.04:LTS | linux-nvidia | 0 | 5.15.0-1067.68 |
| Ubuntu:22.04:LTS | linux-nvidia-6.2 | 0 | No fix |
| Ubuntu:22.04:LTS | linux-nvidia-6.5 | 0 | No fix |
| Ubuntu:22.04:LTS | linux-nvidia-6.8 | 0 | 6.8.0-1019.21~22.04.1 |
| Ubuntu:22.04:LTS | linux-oem-5.17 | 0 | No fix |
| Ubuntu:22.04:LTS | linux-oem-6.0 | 0 | No fix |
| Ubuntu:22.04:LTS | linux-oem-6.1 | 0 | No fix |
| Ubuntu:22.04:LTS | linux-oem-6.5 | 0 | No fix |
| Ubuntu:22.04:LTS | linux-oracle | 0 | 5.15.0-1070.76 |
| Ubuntu:22.04:LTS | linux-oracle-6.5 | 0 | No fix |
| Ubuntu:22.04:LTS | linux-oracle-6.8 | 0 | 6.8.0-1017.18~22.04.1 |
| Ubuntu:22.04:LTS | linux-raspi | 0 | 5.15.0-1065.68 |
| Ubuntu:22.04:LTS | linux-realtime | 0 | No fix |
| Ubuntu:22.04:LTS | linux-riscv | 0 | No fix |
| Ubuntu:22.04:LTS | linux-riscv-5.19 | 0 | No fix |
| Ubuntu:22.04:LTS | linux-riscv-6.5 | 0 | No fix |
| Ubuntu:22.04:LTS | linux-riscv-6.8 | 0 | 6.8.0-50.51.1~22.04.1 |
| Ubuntu:22.04:LTS | linux-starfive-5.19 | 0 | No fix |
| Ubuntu:22.04:LTS | linux-starfive-6.2 | 0 | No fix |
| Ubuntu:22.04:LTS | linux-starfive-6.5 | 0 | No fix |
| Ubuntu:22.04:LTS | linux-xilinx-zynqmp | 0 | 5.15.0-1038.42 |
| Ubuntu:22.04:LTS:for:NVIDIA:BlueField | linux-bluefield | 0 | No fix |
| Ubuntu:24.04:LTS | linux | 0 | 6.8.0-50.51 |
| Ubuntu:24.04:LTS | linux-aws | 0 | 6.8.0-1020.22 |
| Ubuntu:24.04:LTS | linux-azure | 0 | 6.8.0-1020.23 |
| Ubuntu:24.04:LTS | linux-gcp | 0 | 6.8.0-1019.21 |
| Ubuntu:24.04:LTS | linux-gke | 0 | 6.8.0-1015.19 |
| Ubuntu:24.04:LTS | linux-gkeop | 0 | 6.8.0-1002.4 |
| Ubuntu:24.04:LTS | linux-ibm | 0 | 6.8.0-1017.17 |
| Ubuntu:24.04:LTS | linux-lowlatency | 0 | 6.8.0-50.51.1 |
| Ubuntu:24.04:LTS | linux-nvidia | 0 | 6.8.0-1019.21 |
| Ubuntu:24.04:LTS | linux-nvidia-lowlatency | 0 | 6.8.0-1019.21.1 |
| Ubuntu:24.04:LTS | linux-oem-6.11 | 0 | 6.11.0-1007.7 |
| Ubuntu:24.04:LTS | linux-oem-6.8 | 0 | 6.8.0-1018.18 |
| Ubuntu:24.04:LTS | linux-oracle | 0 | 6.8.0-1017.18 |
| Ubuntu:24.04:LTS | linux-raspi | 0 | 6.8.0-1016.18 |
| Ubuntu:24.04:LTS | linux-raspi-realtime | 0 | No fix |
| Ubuntu:24.04:LTS | linux-realtime | 0 | No fix |
| Ubuntu:24.04:LTS | linux-riscv | 0 | 6.8.0-50.51.1 |
| Ubuntu:24.10 | linux | 0 | 6.11.0-7.7 |
| Ubuntu:24.10 | linux-aws | 0 | 6.11.0-1002.2 |
| Ubuntu:24.10 | linux-azure | 0 | 6.11.0-1003.3 |
| Ubuntu:24.10 | linux-gcp | 0 | 6.11.0-1001.1 |
| Ubuntu:24.10 | linux-lowlatency | 0 | 6.11.0-1002.2 |
| Ubuntu:24.10 | linux-oracle | 0 | 6.11.0-1004.4 |
| Ubuntu:24.10 | linux-raspi | 0 | 6.11.0-1003.3 |
| Ubuntu:24.10 | linux-realtime | 0 | 6.11.0-1001.1 |
| Ubuntu:24.10 | linux-riscv | 0 | 6.11.0-8.8.1 |
| Ubuntu:Nvidia-BlueField:22.04:LTS | linux-bluefield | 0 | 5.15.0-1056.58 |
| Ubuntu:Pro:14.04:LTS | linux | 0 | No fix |
| Ubuntu:Pro:14.04:LTS | linux-aws | 0 | 4.4.0-1138.144 |
| Ubuntu:Pro:14.04:LTS | linux-azure | 0 | 4.15.0-1183.198~14.04.1 |
| Ubuntu:Pro:14.04:LTS | linux-lts-xenial | 0 | 4.4.0-261.295~14.04.1 |
| Ubuntu:Pro:16.04:LTS | linux | 0 | 4.4.0-261.295 |
| Ubuntu:Pro:16.04:LTS | linux-aws | 0 | 4.4.0-1176.191 |
| Ubuntu:Pro:16.04:LTS | linux-aws-hwe | 0 | 4.15.0-1175.188~16.04.1 |
| Ubuntu:Pro:16.04:LTS | linux-azure | 0 | 4.15.0-1183.198~16.04.1 |
| Ubuntu:Pro:16.04:LTS | linux-gcp | 0 | 4.15.0-1168.185~16.04.1 |
| Ubuntu:Pro:16.04:LTS | linux-hwe | 0 | 4.15.0-231.243~16.04.1 |
| Ubuntu:Pro:16.04:LTS | linux-hwe-edge | 0 | No fix |
| Ubuntu:Pro:16.04:LTS | linux-kvm | 0 | 4.4.0-1139.149 |
| Ubuntu:Pro:16.04:LTS | linux-oracle | 0 | 4.15.0-1137.148~16.04.1 |
| Ubuntu:Pro:18.04:LTS | linux | 0 | 4.15.0-231.243 |
| Ubuntu:Pro:18.04:LTS | linux-aws | 0 | 4.15.0-1175.188 |
Related vulnerabilities
- CVE-2025-38562 In the Linux kernel, the following vulnerability has been resolved: ksmbd: fix null… Also affects linux
- CVE-2025-38352 In the Linux kernel, the following vulnerability has been resolved: posix-cpu-timers: fix… Also affects linux
- CVE-2025-22037 In the Linux kernel, the following vulnerability has been resolved: ksmbd: fix null… Also affects linux
- CVE-2025-21760 In the Linux kernel, the following vulnerability has been resolved: ndisc: extend RCU… Also affects linux
- CVE-2025-21758 In the Linux kernel, the following vulnerability has been resolved: ipv6: mcast: add RCU… Also affects linux
- CVE-2025-21664 In the Linux kernel, the following vulnerability has been resolved: dm thin: make… Also affects linux
- CVE-2024-57946 In the Linux kernel, the following vulnerability has been resolved: virtio-blk: don't… Also affects linux
- CVE-2024-57945 In the Linux kernel, the following vulnerability has been resolved: riscv: mm: Fix the… Also affects linux