Linux: EDAC/device_sysfs: Use kstrtouint() for poll_msec to prevent truncation
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
- git.kernel.org/stable/c/a60794ee3f453516ab3ed212ba0295ecf890bc8cReferencevia CVE List
- git.kernel.org/stable/c/f856511058c8cb470d6c6c7ce908870adcdc7dc6Referencevia CVE List
- git.kernel.org/stable/c/656e2fe98ac452db4e5b8147d1f33b8c35b4ec4bReferencevia CVE List
- git.kernel.org/stable/c/541fc6f733b32463cf23277637bb07e2aaa00b53Referencevia CVE List
- git.kernel.org/stable/c/ea01c061d839b520f385f112908de1c6e3391327Referencevia CVE List
- git.kernel.org/stable/c/528052af901d6e6bbfa0e52362a70a58a5dd1e43Referencevia CVE List
- git.kernel.org/stable/c/0e022ee4f8e0dc843ba4c80bb75408a7704279afReferencevia CVE List
- git.kernel.org/stable/c/66cc9dec919dd63d8e4b3d386f7aed3ae684e645Referencevia CVE List