CVE-2024-38667

Source
https://nvd.nist.gov/vuln/detail/CVE-2024-38667
Import Source
https://storage.googleapis.com/osv-test-cve-osv-conversion/osv-output/CVE-2024-38667.json
JSON Data
https://api.test.osv.dev/v1/vulns/CVE-2024-38667
Downstream
Related
Published
2024-06-24T13:52:25.399Z
Modified
2025-11-28T02:34:15.524686Z
Summary
riscv: prevent pt_regs corruption for secondary idle threads
Details

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

riscv: prevent pt_regs corruption for secondary idle threads

Top of the kernel thread stack should be reserved for ptregs. However this is not the case for the idle threads of the secondary boot harts. Their stacks overlap with their ptregs, so both may get corrupted.

Similar issue has been fixed for the primary hart, see c7cdd96eca28 ("riscv: prevent stack corruption by reserving taskptregs(p) early"). However that fix was not propagated to the secondary harts. The problem has been noticed in some CPU hotplug tests with V enabled. The function smpcallin stored several registers on stack, corrupting top of ptregs structure including status field. As a result, kernel attempted to save or restore inexistent V context.

Database specific
{
    "cna_assigner": "Linux",
    "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2024/38xxx/CVE-2024-38667.json"
}
References

Affected packages

Git / git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git

Affected ranges

Type
GIT
Repo
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
Events
Introduced
2875fe0561569f82d0e63658ccf0d11ce7da8922
Fixed
ea22d4195cca13d5fdbc4d6555a2dfb8a7867a9e
Fixed
3090c06d50eaa91317f84bf3eac4c265e6cb8d44
Fixed
0c1f28c32a194303da630fca89481334b9547b80
Fixed
a638b0461b58aa3205cd9d5f14d6f703d795b4af

Linux / Kernel

Package

Name
Kernel

Affected ranges

Type
ECOSYSTEM
Events
Introduced
5.7.0
Fixed
6.1.93
Type
ECOSYSTEM
Events
Introduced
6.2.0
Fixed
6.6.33
Type
ECOSYSTEM
Events
Introduced
6.7.0
Fixed
6.9.4