EDAC/device_sysfs: Use kstrtouint() for poll_msec to prevent truncation
- Published
- Last modified
- Where the record stands: published, rejected by its publisher, or superseded by another id.What do these mean? →
- published
- Whether CISA lists it in its Known Exploited Vulnerabilities catalog: proof that attackers are using it.What do these mean? →
- Not listed in CISA KEV
- Fix
- Fixed in 5.10.271, 5.15.222, 6.1.189, 6.6.158, 6.12.111, and 2 more
- Whether working attack code is public (Exploit-DB, Metasploit, Nuclei or GitHub). Public code makes attacks easier.What do these mean? →
- None on Exploit-DB, Metasploit or GitHub
Summary
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.
Timeline
- CVE published
- Record last updated
Affected versions
- Linux Linux
From e27e3dac651771fe3250f6305dee277bce29fc5d · fixed in a60794ee3f453516ab3ed212ba0295ecf890bc8c; From e27e3dac651771fe3250f6305dee277bce29fc5d · fixed in f856511058c8cb470d6c6c7ce908870adcdc7dc6; From e27e3dac651771fe3250f6305dee277bce29fc5d · fixed in 656e2fe98ac452db4e5b8147d1f33b8c35b4ec4b; From e27e3dac651771fe3250f6305dee277bce29fc5d · fixed in 541fc6f733b32463cf23277637bb07e2aaa00b53; From e27e3dac651771fe3250f6305dee277bce29fc5d · fixed in ea01c061d839b520f385f112908de1c6e3391327; From e27e3dac651771fe3250f6305dee277bce29fc5d · fixed in 528052af901d6e6bbfa0e52362a70a58a5dd1e43; From e27e3dac651771fe3250f6305dee277bce29fc5d · fixed in 0e022ee4f8e0dc843ba4c80bb75408a7704279af; From e27e3dac651771fe3250f6305dee277bce29fc5d · fixed in 66cc9dec919dd63d8e4b3d386f7aed3ae684e645
- Linux Linux
2.6.23
- KernelLinux
From 2.6.23 · fixed in 5.10.271; From 5.11.0 · fixed in 5.15.222; From 5.16.0 · fixed in 6.1.189; From 6.2.0 · fixed in 6.6.158; From 6.7.0 · fixed in 6.12.111; From 6.13.0 · fixed in 6.18.53; From 6.19.0 · fixed in 7.2.7
References 8
git.kernel.org
- stable/c/a60794ee3f453516ab3ed212ba0295ecf890bc8c
- stable/c/f856511058c8cb470d6c6c7ce908870adcdc7dc6
- stable/c/656e2fe98ac452db4e5b8147d1f33b8c35b4ec4b
- stable/c/541fc6f733b32463cf23277637bb07e2aaa00b53
- stable/c/ea01c061d839b520f385f112908de1c6e3391327
- stable/c/528052af901d6e6bbfa0e52362a70a58a5dd1e43
- stable/c/0e022ee4f8e0dc843ba4c80bb75408a7704279af
- stable/c/66cc9dec919dd63d8e4b3d386f7aed3ae684e645