EDAC/thunderx: Fix possible out-of-bounds string access
- 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 4.19.306, 5.4.268, 5.10.209, 5.15.148, 6.1.75, 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
- Exploitation: none
- Automatable: no
- Technical impact: partial
Summary
In the Linux kernel, the following vulnerability has been resolved: EDAC/thunderx: Fix possible out-of-bounds string access Enabling -Wstringop-overflow globally exposes a warning for a common bug in the usage of strncat(): drivers/edac/thunderx_edac.c: In function 'thunderx_ocx_com_threaded_isr': drivers/edac/thunderx_edac.c:1136:17: error: 'strncat' specified bound 1024 equals destination size [-Werror=stringop-overflow=] 1136 | strncat(msg, other, OCX_MESSAGE_SIZE); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ... 1145 | strncat(msg, other, OCX_MESSAGE_SIZE); ... 1150 | strncat(msg, other, OCX_MESSAGE_SIZE); ... Apparently the author of this driver expected strncat() to behave the way that strlcat() does, which uses the size of the destination buffer as its third argument rather than the length of the source buffer. The result is that there is no check on the size of the allocated buffer. Change it to strlcat(). [ bp: Trim compiler output, fixup commit message. ]
Timeline
- CVE published
- CISA SSVC assessment
Exploitation: none · Automatable: no · Technical impact: partial
- Record last updated
Affected versions
- Linux Linux
From 41003396f932d7f027725c7acebb6a7caa41dc3e · fixed in 71c17ee02538802ceafc830f0736aa35b564e601; From 41003396f932d7f027725c7acebb6a7caa41dc3e · fixed in 5da3b6e7196f0b4f3728e4e25eb20233a9ddfaf6; From 41003396f932d7f027725c7acebb6a7caa41dc3e · fixed in 6aa7865ba7ff7f0ede0035180fb3b9400ceb405a; From 41003396f932d7f027725c7acebb6a7caa41dc3e · fixed in 700cf4bead80fac994dcc43ae1ca5d86d8959b21; From 41003396f932d7f027725c7acebb6a7caa41dc3e · fixed in 9dbac9fdae6e3b411fc4c3fca3bf48f70609c398; From 41003396f932d7f027725c7acebb6a7caa41dc3e · fixed in e1c86511241588efffaa49556196f09a498d5057; From 41003396f932d7f027725c7acebb6a7caa41dc3e · fixed in 426fae93c01dffa379225eb2bd4d3cdc42c6eec5; From 41003396f932d7f027725c7acebb6a7caa41dc3e · fixed in 475c58e1a471e9b873e3e39958c64a2d278275c8
- Linux Linux
4.12
- KernelLinux
From 4.12.0 · fixed in 4.19.306; From 4.20.0 · fixed in 5.4.268; From 5.5.0 · fixed in 5.10.209; From 5.11.0 · fixed in 5.15.148; From 5.16.0 · fixed in 6.1.75; From 6.2.0 · fixed in 6.6.14; From 6.7.0 · fixed in 6.7.2
References 8
git.kernel.org
- stable/c/71c17ee02538802ceafc830f0736aa35b564e601
- stable/c/5da3b6e7196f0b4f3728e4e25eb20233a9ddfaf6
- stable/c/6aa7865ba7ff7f0ede0035180fb3b9400ceb405a
- stable/c/700cf4bead80fac994dcc43ae1ca5d86d8959b21
- stable/c/9dbac9fdae6e3b411fc4c3fca3bf48f70609c398
- stable/c/e1c86511241588efffaa49556196f09a498d5057
- stable/c/426fae93c01dffa379225eb2bd4d3cdc42c6eec5
- stable/c/475c58e1a471e9b873e3e39958c64a2d278275c8