In the Linux kernel, the following vulnerability has been resolved:
start_kernel: Add __nostackprotector function attribute
Back during the discussion of commit a9a3ed1eff36 ("x86: Fix early boot crash on gcc-10, third try") we discussed the need for a function attribute to control the omission of stack protectors on a per-function basis; at the time Clang had support for nostackprotector but GCC did not. This was fixed in gcc-11. Now that the function attribute is available, let's start using it.
Callers of bootinitstackcanary need to use this function attribute unless they're compiled with -fno-stack-protector, otherwise the canary stored in the stack slot of the caller will differ upon the call to bootinitstackcanary. This will lead to a call to __stackchkfail() then panic.
{
"osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2023/53xxx/CVE-2023-53491.json",
"cna_assigner": "Linux"
}[
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@514ca14ed5444b911de59ed3381dfd195d99fe4b",
"deprecated": false,
"signature_type": "Line",
"target": {
"file": "init/main.c"
},
"digest": {
"threshold": 0.9,
"line_hashes": [
"11119646249304339412572516183056702266",
"70936680840930801424374384980806313179",
"212096677157014648825154930525221568493",
"82470242535464825063303494537520403107"
]
},
"signature_version": "v1",
"id": "CVE-2023-53491-228cbacd"
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@25e73018b4093e0cfbcec5dc4a4bb86d0b69ed56",
"deprecated": false,
"signature_type": "Line",
"target": {
"file": "include/linux/compiler_attributes.h"
},
"digest": {
"threshold": 0.9,
"line_hashes": [
"122234152697581013134392896241822421437",
"241892149446133839124744722010949761037",
"96472542039247257857379149623534504918"
]
},
"signature_version": "v1",
"id": "CVE-2023-53491-3920cce1"
},
{
"id": "CVE-2023-53491-547af841",
"deprecated": false,
"signature_type": "Line",
"target": {
"file": "include/linux/compiler_attributes.h"
},
"digest": {
"threshold": 0.9,
"line_hashes": [
"122234152697581013134392896241822421437",
"241892149446133839124744722010949761037",
"96472542039247257857379149623534504918"
]
},
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@514ca14ed5444b911de59ed3381dfd195d99fe4b"
},
{
"id": "CVE-2023-53491-b6f843f6",
"signature_type": "Line",
"deprecated": false,
"target": {
"file": "arch/powerpc/kernel/smp.c"
},
"digest": {
"threshold": 0.9,
"line_hashes": [
"204687185360019761730092692358893137172",
"297936726092269181132218346737122672441",
"162068174515494485277303569491421521433"
]
},
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@25e73018b4093e0cfbcec5dc4a4bb86d0b69ed56"
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@514ca14ed5444b911de59ed3381dfd195d99fe4b",
"deprecated": false,
"signature_type": "Line",
"target": {
"file": "arch/powerpc/kernel/smp.c"
},
"digest": {
"threshold": 0.9,
"line_hashes": [
"204687185360019761730092692358893137172",
"297936726092269181132218346737122672441",
"162068174515494485277303569491421521433"
]
},
"signature_version": "v1",
"id": "CVE-2023-53491-bc80d57a"
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@25e73018b4093e0cfbcec5dc4a4bb86d0b69ed56",
"deprecated": false,
"signature_type": "Line",
"target": {
"file": "init/main.c"
},
"digest": {
"threshold": 0.9,
"line_hashes": [
"11119646249304339412572516183056702266",
"70936680840930801424374384980806313179",
"212096677157014648825154930525221568493",
"82470242535464825063303494537520403107"
]
},
"signature_version": "v1",
"id": "CVE-2023-53491-fb9e9124"
}
]
"https://storage.googleapis.com/osv-test-cve-osv-conversion/osv-output/CVE-2023-53491.json"