In the Linux kernel, the following vulnerability has been resolved:
crypto: ccp - Fix null pointer dereference in _sevplatformshutdownlocked
The SEV platform device can be shutdown with a null pspmaster, e.g., using DEBUGTESTDRIVERREMOVE. Found using KASAN:
[ 137.148210] ccp 0000:23:00.1: enabling device (0000 -> 0002) [ 137.162647] ccp 0000:23:00.1: no command queues available [ 137.170598] ccp 0000:23:00.1: sev enabled [ 137.174645] ccp 0000:23:00.1: psp enabled [ 137.178890] general protection fault, probably for non-canonical address 0xdffffc000000001e: 0000 [#1] PREEMPT SMP DEBUGPAGEALLOC KASAN NOPTI [ 137.182693] KASAN: null-ptr-deref in range [0x00000000000000f0-0x00000000000000f7] [ 137.182693] CPU: 93 PID: 1 Comm: swapper/0 Not tainted 6.8.0-rc1+ #311 [ 137.182693] RIP: 0010:sevplatformshutdownlocked+0x51/0x180 [ 137.182693] Code: 08 80 3c 08 00 0f 85 0e 01 00 00 48 8b 1d 67 b6 01 08 48 b8 00 00 00 00 00 fc ff df 48 8d bb f0 00 00 00 48 89 f9 48 c1 e9 03 <80> 3c 01 00 0f 85 fe 00 00 00 48 8b 9b f0 00 00 00 48 85 db 74 2c [ 137.182693] RSP: 0018:ffffc900000cf9b0 EFLAGS: 00010216 [ 137.182693] RAX: dffffc0000000000 RBX: 0000000000000000 RCX: 000000000000001e [ 137.182693] RDX: 0000000000000000 RSI: 0000000000000008 RDI: 00000000000000f0 [ 137.182693] RBP: ffffc900000cf9c8 R08: 0000000000000000 R09: fffffbfff58f5a66 [ 137.182693] R10: ffffc900000cf9c8 R11: ffffffffac7ad32f R12: ffff8881e5052c28 [ 137.182693] R13: ffff8881e5052c28 R14: ffff8881758e43e8 R15: ffffffffac64abf8 [ 137.182693] FS: 0000000000000000(0000) GS:ffff889de7000000(0000) knlGS:0000000000000000 [ 137.182693] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 [ 137.182693] CR2: 0000000000000000 CR3: 0000001cf7c7e000 CR4: 0000000000350ef0 [ 137.182693] Call Trace: [ 137.182693] <TASK> [ 137.182693] ? showregs+0x6c/0x80 [ 137.182693] ? _diebody+0x24/0x70 [ 137.182693] ? dieaddr+0x4b/0x80 [ 137.182693] ? excgeneralprotection+0x126/0x230 [ 137.182693] ? asmexcgeneralprotection+0x2b/0x30 [ 137.182693] ? _sevplatformshutdownlocked+0x51/0x180 [ 137.182693] sevfirmwareshutdown.isra.0+0x1e/0x80 [ 137.182693] sevdevdestroy+0x49/0x100 [ 137.182693] pspdevdestroy+0x47/0xb0 [ 137.182693] spdestroy+0xbb/0x240 [ 137.182693] sppciremove+0x45/0x60 [ 137.182693] pcideviceremove+0xaa/0x1d0 [ 137.182693] deviceremove+0xc7/0x170 [ 137.182693] reallyprobe+0x374/0xbe0 [ 137.182693] ? srsoreturnthunk+0x5/0x5f [ 137.182693] _driverprobedevice+0x199/0x460 [ 137.182693] driverprobedevice+0x4e/0xd0 [ 137.182693] _driverattach+0x191/0x3d0 [ 137.182693] ? _pfxdriverattach+0x10/0x10 [ 137.182693] busforeachdev+0x100/0x190 [ 137.182693] ? _pfxbusforeachdev+0x10/0x10 [ 137.182693] ? _kasancheckread+0x15/0x20 [ 137.182693] ? srsoreturnthunk+0x5/0x5f [ 137.182693] ? _rawspinunlock+0x27/0x50 [ 137.182693] driverattach+0x41/0x60 [ 137.182693] busadddriver+0x2a8/0x580 [ 137.182693] driverregister+0x141/0x480 [ 137.182693] _pciregisterdriver+0x1d6/0x2a0 [ 137.182693] ? srsoreturnthunk+0x5/0x5f [ 137.182693] ? esrtsysfsinit+0x1cd/0x5d0 [ 137.182693] ? _pfxspmodinit+0x10/0x10 [ 137.182693] sppciinit+0x22/0x30 [ 137.182693] spmodinit+0x14/0x30 [ 137.182693] ? _pfxspmodinit+0x10/0x10 [ 137.182693] dooneinitcall+0xd1/0x470 [ 137.182693] ? _pfxdooneinitcall+0x10/0x10 [ 137.182693] ? parameq+0x80/0xf0 [ 137.182693] ? srsoreturnthunk+0x5/0x5f [ 137.182693] ? _kmalloc+0x3b0/0x4e0 [ 137.182693] ? kernelinitfreeable+0x92d/0x1050 [ 137.182693] ? kasanpopulatevmallocpte+0x171/0x190 [ 137.182693] ? srsoreturnthunk+0x5/0x5f [ 137.182693] kernelinitfreeable+0xa64/0x1050 [ 137.182693] ? _pfxkernelinit+0x10/0x10 [ 137.182693] kernelinit+0x24/0x160 [ 137.182693] ? _switchtoasm+0x3e/0x70 [ 137.182693] retfromfork+0x40/0x80 [ 137.182693] ? _pfxkernelinit+0x1 ---truncated---
{
"cna_assigner": "Linux",
"osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2024/26xxx/CVE-2024-26695.json"
}"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2024-26695.json"
[
{
"signature_type": "Line",
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@8731fe001a60581794ed9cf65da8cd304846a6fb",
"digest": {
"line_hashes": [
"289119369222211010703528932159403833244",
"60305382581345233121705720208237472360",
"169829427703097445208059089087039434856",
"270579538550383652453280375061238946421",
"146636680183271529213118429877489271346",
"137543535521351478746070865059683546950"
],
"threshold": 0.9
},
"id": "CVE-2024-26695-2e2ac94b",
"deprecated": false,
"target": {
"file": "drivers/crypto/ccp/sev-dev.c"
}
},
{
"signature_type": "Line",
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@58054faf3bd29cd0b949b77efcb6157f66f401ed",
"digest": {
"line_hashes": [
"289119369222211010703528932159403833244",
"60305382581345233121705720208237472360",
"169829427703097445208059089087039434856",
"270579538550383652453280375061238946421",
"146636680183271529213118429877489271346",
"137543535521351478746070865059683546950"
],
"threshold": 0.9
},
"id": "CVE-2024-26695-34f99a5a",
"deprecated": false,
"target": {
"file": "drivers/crypto/ccp/sev-dev.c"
}
},
{
"signature_type": "Line",
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@ccb88e9549e7cfd8bcd511c538f437e20026e983",
"digest": {
"line_hashes": [
"289119369222211010703528932159403833244",
"60305382581345233121705720208237472360",
"169829427703097445208059089087039434856",
"270579538550383652453280375061238946421",
"146636680183271529213118429877489271346",
"137543535521351478746070865059683546950"
],
"threshold": 0.9
},
"id": "CVE-2024-26695-3abdaf86",
"deprecated": false,
"target": {
"file": "drivers/crypto/ccp/sev-dev.c"
}
},
{
"signature_type": "Line",
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@88aa493f393d2ee38ac140e1f6ac1881346e85d4",
"digest": {
"line_hashes": [
"289119369222211010703528932159403833244",
"60305382581345233121705720208237472360",
"169829427703097445208059089087039434856",
"270579538550383652453280375061238946421",
"146636680183271529213118429877489271346",
"137543535521351478746070865059683546950"
],
"threshold": 0.9
},
"id": "CVE-2024-26695-6b7af166",
"deprecated": false,
"target": {
"file": "drivers/crypto/ccp/sev-dev.c"
}
},
{
"signature_type": "Line",
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@b5909f197f3b26aebedca7d8ac7b688fd993a266",
"digest": {
"line_hashes": [
"289119369222211010703528932159403833244",
"60305382581345233121705720208237472360",
"169829427703097445208059089087039434856",
"270579538550383652453280375061238946421",
"146636680183271529213118429877489271346",
"137543535521351478746070865059683546950"
],
"threshold": 0.9
},
"id": "CVE-2024-26695-7f314dff",
"deprecated": false,
"target": {
"file": "drivers/crypto/ccp/sev-dev.c"
}
},
{
"signature_type": "Line",
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@7535ec350a5f09b5756a7607f5582913f21200f4",
"digest": {
"line_hashes": [
"289119369222211010703528932159403833244",
"60305382581345233121705720208237472360",
"169829427703097445208059089087039434856",
"270579538550383652453280375061238946421",
"146636680183271529213118429877489271346",
"137543535521351478746070865059683546950"
],
"threshold": 0.9
},
"id": "CVE-2024-26695-7fdf7991",
"deprecated": false,
"target": {
"file": "drivers/crypto/ccp/sev-dev.c"
}
},
{
"signature_type": "Function",
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@b5909f197f3b26aebedca7d8ac7b688fd993a266",
"digest": {
"function_hash": "309759103155731969162033840136933000955",
"length": 332.0
},
"id": "CVE-2024-26695-98b05ac0",
"deprecated": false,
"target": {
"file": "drivers/crypto/ccp/sev-dev.c",
"function": "__sev_platform_shutdown_locked"
}
},
{
"signature_type": "Function",
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@88aa493f393d2ee38ac140e1f6ac1881346e85d4",
"digest": {
"function_hash": "309759103155731969162033840136933000955",
"length": 332.0
},
"id": "CVE-2024-26695-a41ee49f",
"deprecated": false,
"target": {
"file": "drivers/crypto/ccp/sev-dev.c",
"function": "__sev_platform_shutdown_locked"
}
},
{
"signature_type": "Function",
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@ccb88e9549e7cfd8bcd511c538f437e20026e983",
"digest": {
"function_hash": "309759103155731969162033840136933000955",
"length": 332.0
},
"id": "CVE-2024-26695-ae0ea8f9",
"deprecated": false,
"target": {
"file": "drivers/crypto/ccp/sev-dev.c",
"function": "__sev_platform_shutdown_locked"
}
},
{
"signature_type": "Function",
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@58054faf3bd29cd0b949b77efcb6157f66f401ed",
"digest": {
"function_hash": "309759103155731969162033840136933000955",
"length": 332.0
},
"id": "CVE-2024-26695-e4b5def4",
"deprecated": false,
"target": {
"file": "drivers/crypto/ccp/sev-dev.c",
"function": "__sev_platform_shutdown_locked"
}
},
{
"signature_type": "Function",
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@8731fe001a60581794ed9cf65da8cd304846a6fb",
"digest": {
"function_hash": "309759103155731969162033840136933000955",
"length": 332.0
},
"id": "CVE-2024-26695-f3467613",
"deprecated": false,
"target": {
"file": "drivers/crypto/ccp/sev-dev.c",
"function": "__sev_platform_shutdown_locked"
}
},
{
"signature_type": "Function",
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@7535ec350a5f09b5756a7607f5582913f21200f4",
"digest": {
"function_hash": "309759103155731969162033840136933000955",
"length": 332.0
},
"id": "CVE-2024-26695-f6902240",
"deprecated": false,
"target": {
"file": "drivers/crypto/ccp/sev-dev.c",
"function": "__sev_platform_shutdown_locked"
}
}
]