In the Linux kernel, the following vulnerability has been resolved:
startkernel: 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 _stackchk_fail() then panic.
[
{
"digest": {
"line_hashes": [
"11119646249304339412572516183056702266",
"70936680840930801424374384980806313179",
"212096677157014648825154930525221568493",
"82470242535464825063303494537520403107"
],
"threshold": 0.9
},
"deprecated": false,
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@514ca14ed5444b911de59ed3381dfd195d99fe4b",
"target": {
"file": "init/main.c"
},
"id": "CVE-2023-53491-228cbacd",
"signature_type": "Line"
},
{
"digest": {
"line_hashes": [
"122234152697581013134392896241822421437",
"241892149446133839124744722010949761037",
"96472542039247257857379149623534504918"
],
"threshold": 0.9
},
"deprecated": false,
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@25e73018b4093e0cfbcec5dc4a4bb86d0b69ed56",
"target": {
"file": "include/linux/compiler_attributes.h"
},
"id": "CVE-2023-53491-3920cce1",
"signature_type": "Line"
},
{
"digest": {
"line_hashes": [
"122234152697581013134392896241822421437",
"241892149446133839124744722010949761037",
"96472542039247257857379149623534504918"
],
"threshold": 0.9
},
"deprecated": false,
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@514ca14ed5444b911de59ed3381dfd195d99fe4b",
"target": {
"file": "include/linux/compiler_attributes.h"
},
"id": "CVE-2023-53491-547af841",
"signature_type": "Line"
},
{
"digest": {
"line_hashes": [
"204687185360019761730092692358893137172",
"297936726092269181132218346737122672441",
"162068174515494485277303569491421521433"
],
"threshold": 0.9
},
"deprecated": false,
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@25e73018b4093e0cfbcec5dc4a4bb86d0b69ed56",
"target": {
"file": "arch/powerpc/kernel/smp.c"
},
"id": "CVE-2023-53491-b6f843f6",
"signature_type": "Line"
},
{
"digest": {
"line_hashes": [
"204687185360019761730092692358893137172",
"297936726092269181132218346737122672441",
"162068174515494485277303569491421521433"
],
"threshold": 0.9
},
"deprecated": false,
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@514ca14ed5444b911de59ed3381dfd195d99fe4b",
"target": {
"file": "arch/powerpc/kernel/smp.c"
},
"id": "CVE-2023-53491-bc80d57a",
"signature_type": "Line"
},
{
"digest": {
"line_hashes": [
"11119646249304339412572516183056702266",
"70936680840930801424374384980806313179",
"212096677157014648825154930525221568493",
"82470242535464825063303494537520403107"
],
"threshold": 0.9
},
"deprecated": false,
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@25e73018b4093e0cfbcec5dc4a4bb86d0b69ed56",
"target": {
"file": "init/main.c"
},
"id": "CVE-2023-53491-fb9e9124",
"signature_type": "Line"
}
]