In the Linux kernel, the following vulnerability has been resolved:
x86/kexec: Fix bug with call depth tracking
The call to ccplatformhas() triggers a fault and system crash if call depth tracking is active because the GS segment has been reset by loadsegments() and GSBASE is now 0 but call depth tracking uses per-CPU variables to operate.
Call ccplatformhas() earlier in the function when GS is still valid.
[ bp: Massage. ]
[
{
"id": "CVE-2024-40944-01496b93",
"target": {
"file": "arch/x86/kernel/machine_kexec_64.c"
},
"digest": {
"threshold": 0.9,
"line_hashes": [
"183291612959197873458002235326019136928",
"39469507874142636614205077619294856480",
"339913556611383866748860739492089590181",
"148611980680384326579367328613391112667",
"214681134128905427067193911773782341217",
"199540345312240989073821431561164033688",
"233928038648976238378777079376271327124",
"183245202804745579154199912004412824079",
"3823813794675531111050141155653917035"
]
},
"deprecated": false,
"signature_type": "Line",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@d91ddd05082691e69b30744825d18ae799293258",
"signature_version": "v1"
},
{
"id": "CVE-2024-40944-17afbf0a",
"target": {
"file": "arch/x86/kernel/machine_kexec_64.c"
},
"digest": {
"threshold": 0.9,
"line_hashes": [
"183291612959197873458002235326019136928",
"39469507874142636614205077619294856480",
"339913556611383866748860739492089590181",
"148611980680384326579367328613391112667",
"214681134128905427067193911773782341217",
"199540345312240989073821431561164033688",
"233928038648976238378777079376271327124",
"183245202804745579154199912004412824079",
"3823813794675531111050141155653917035"
]
},
"deprecated": false,
"signature_type": "Line",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@93c1800b3799f17375989b0daf76497dd3e80922",
"signature_version": "v1"
},
{
"id": "CVE-2024-40944-734663ee",
"target": {
"file": "arch/x86/kernel/machine_kexec_64.c",
"function": "machine_kexec"
},
"digest": {
"function_hash": "286317511456156023962342236815421488383",
"length": 1099.0
},
"deprecated": false,
"signature_type": "Function",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@93c1800b3799f17375989b0daf76497dd3e80922",
"signature_version": "v1"
},
{
"id": "CVE-2024-40944-fcb7253c",
"target": {
"file": "arch/x86/kernel/machine_kexec_64.c",
"function": "machine_kexec"
},
"digest": {
"function_hash": "286317511456156023962342236815421488383",
"length": 1099.0
},
"deprecated": false,
"signature_type": "Function",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@d91ddd05082691e69b30744825d18ae799293258",
"signature_version": "v1"
}
]