All vulnerabilities
CVE-2026-98157

Linux: EDAC/device_sysfs: Use kstrtouint() for poll_msec to prevent truncation

Linux LinuxOperating systems
CVSS
NoneNot scored
ExploitationNo known exploitationNot in CISA KEV, which does not prove it is unexploitedCISA KEV
Exploit odds (EPSS)0.11%Chance of exploitation activity in the next 30 days, higher than 1% of CVEs. Scored 23 Oct 2026FIRST EPSS
Fixed in656e2fe98ac452db4e5b8147d1f33b8c35b4ec4bAlso 541fc6f733b32463cf23277637bb07e2aaa00b53, 528052af901d6e6bbfa0e52362a70a58a5dd1e43 and 2 moreCVE List
Published25 Sep 2026Updated 19 Oct 2026CVE List

What fixes it

  • 656e2fe98ac452db4e5b8147d1f33b8c35b4ec4bLinuxCVE List
  • 541fc6f733b32463cf23277637bb07e2aaa00b53LinuxCVE List
  • 528052af901d6e6bbfa0e52362a70a58a5dd1e43LinuxCVE List
  • 0e022ee4f8e0dc843ba4c80bb75408a7704279afLinuxCVE List
  • 66cc9dec919dd63d8e4b3d386f7aed3ae684e645LinuxCVE List

A fixed version on one release line is not the upgrade target for every line. Check your exact version and any vendor backports.

Description

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

EDAC/device_sysfs: Use kstrtouint() for poll_msec to prevent truncation

The poll_msec sysfs store file uses simple_strtoul() which accepts an unsigned long, but the target field (poll_msec) is unsigned int. On 64-bit systems, a value > UINT_MAX is silently truncated when stored.

Fix the mismatch by using kstrtouint() instead. This rejects values larger than UINT_MAX at parse time, making truncation impossible. Also add a check for value < 1 to reject the 0-delay case, which would cause the poll work to spin without delay and consume 100% CPU.

Text from CVE List

Affected versions 18

  • Linuxaffected: e27e3dac651771fe3250f6305dee277bce29fc5d before a60794ee3f453516ab3ed212ba0295ecf890bc8cCVE List
  • Linuxaffected: e27e3dac651771fe3250f6305dee277bce29fc5d before f856511058c8cb470d6c6c7ce908870adcdc7dc6CVE List
  • Linuxaffected: e27e3dac651771fe3250f6305dee277bce29fc5d before 656e2fe98ac452db4e5b8147d1f33b8c35b4ec4bCVE List
  • Linuxaffected: e27e3dac651771fe3250f6305dee277bce29fc5d before 541fc6f733b32463cf23277637bb07e2aaa00b53CVE List
  • Linuxaffected: e27e3dac651771fe3250f6305dee277bce29fc5d before ea01c061d839b520f385f112908de1c6e3391327CVE List
  • Linuxaffected: e27e3dac651771fe3250f6305dee277bce29fc5d before 528052af901d6e6bbfa0e52362a70a58a5dd1e43CVE List
  • Linuxaffected: e27e3dac651771fe3250f6305dee277bce29fc5d before 0e022ee4f8e0dc843ba4c80bb75408a7704279afCVE List
  • Linuxaffected: e27e3dac651771fe3250f6305dee277bce29fc5d before 66cc9dec919dd63d8e4b3d386f7aed3ae684e645CVE List
  • Linuxaffected: 2.6.23CVE List
  • Linuxunaffected: all versions before 2.6.23CVE List
  • Linuxunaffected: 5.10.271 through 5.10.*CVE List
  • Linuxunaffected: 5.15.222 through 5.15.*CVE List
  • Linuxunaffected: 6.1.189 through 6.1.*CVE List
  • Linuxunaffected: 6.6.158 through 6.6.*CVE List
  • Linuxunaffected: 6.12.111 through 6.12.*CVE List
  • Linuxunaffected: 6.18.53 through 6.18.*CVE List
  • Linuxunaffected: 7.2.7 through 7.2.*CVE List
  • Linuxunaffected: 7.3CVE List

References 8