{"id":"CVE-2024-58083","revision":null,"records":[{"revision":"0f13a703d96c4f1f84b5e4e33d1e7f3c","observedAt":"2026-10-23T15:48:27.903+00:00","statement":{"source":"cve-program","id":"CVE-2024-58083","aliases":[],"title":"KVM: Explicitly verify target vCPU is online in kvm_get_vcpu()","description":"In the Linux kernel, the following vulnerability has been resolved:\n\nKVM: Explicitly verify target vCPU is online in kvm_get_vcpu()\n\nExplicitly verify the target vCPU is fully online _prior_ to clamping the\nindex in kvm_get_vcpu().  If the index is \"bad\", the nospec clamping will\ngenerate '0', i.e. KVM will return vCPU0 instead of NULL.\n\nIn practice, the bug is unlikely to cause problems, as it will only come\ninto play if userspace or the guest is buggy or misbehaving, e.g. KVM may\nsend interrupts to vCPU0 instead of dropping them on the floor.\n\nHowever, returning vCPU0 when it shouldn't exist per online_vcpus is\nproblematic now that KVM uses an xarray for the vCPUs array, as KVM needs\nto insert into the xarray before publishing the vCPU to userspace (see\ncommit c5b077549136 (\"KVM: Convert the kvm->vcpus array to a xarray\")),\ni.e. before vCPU creation is guaranteed to succeed.\n\nAs a result, incorrectly providing access to vCPU0 will trigger a\nuse-after-free if vCPU0 is dereferenced and kvm_vm_ioctl_create_vcpu()\nbails out of vCPU creation due to an error and frees vCPU0.  Commit\nafb2acb2e3a3 (\"KVM: Fix vcpu_array[0] races\") papered over that issue, but\nin doing so introduced an unsolvable teardown conundrum.  Preventing\naccesses to vCPU0 before it's fully online will allow reverting commit\nafb2acb2e3a3, without re-introducing the vcpu_array[0] UAF race.","state":0,"publishedAt":"2025-03-06T16:13:45.631+00:00","modifiedAt":"2026-10-15T01:01:46.482+00:00","affected":[{"ecosystem":"Vendor product","name":"Linux","ranges":[],"versions":[],"rawVersionEvidence":"{\n                    \"product\": \"Linux\",\n                    \"vendor\": \"Linux\",\n                    \"defaultStatus\": \"unaffected\",\n                    \"repo\": \"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\",\n                    \"programFiles\": [\n                        \"include/linux/kvm_host.h\"\n                    ],\n                    \"versions\": [\n                        {\n                            \"version\": \"1d487e9bf8ba66a7174c56a0029c54b1eca8f99c\",\n                            \"lessThan\": \"5cce2ed69b00e022b5cdf0c49c82986abd2941a8\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        },\n                        {\n                            \"version\": \"1d487e9bf8ba66a7174c56a0029c54b1eca8f99c\",\n                            \"lessThan\": \"09d50ccf0b2d739db4a485b08afe7520a4402a63\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        },\n                        {\n                            \"version\": \"1d487e9bf8ba66a7174c56a0029c54b1eca8f99c\",\n                            \"lessThan\": \"7c4899239d0f70f88ac42665b3da51678d122480\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        },\n                        {\n                            \"version\": \"1d487e9bf8ba66a7174c56a0029c54b1eca8f99c\",\n                            \"lessThan\": \"d817e510662fd1c9797952408d94806f97a5fffd\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        },\n                        {\n                            \"version\": \"1d487e9bf8ba66a7174c56a0029c54b1eca8f99c\",\n                            \"lessThan\": \"125da53b3c0c9d7f58353aea0076e9efd6498ba7\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        },\n                        {\n                            \"version\": \"1d487e9bf8ba66a7174c56a0029c54b1eca8f99c\",\n                            \"lessThan\": \"f2f805ada63b536bc192458a7098388286568ad4\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        },\n                        {\n                            \"version\": \"1d487e9bf8ba66a7174c56a0029c54b1eca8f99c\",\n                            \"lessThan\": \"ca8da90ed1432ff3d000de4f1e2275d4e7d21b96\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        },\n                        {\n                            \"version\": \"1d487e9bf8ba66a7174c56a0029c54b1eca8f99c\",\n                            \"lessThan\": \"1e7381f3617d14b3c11da80ff5f8a93ab14cfc46\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        },\n                        {\n                            \"version\": \"559e2696d2f47a3575e9550f101a7e59e30b1b38\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        },\n                        {\n                            \"version\": \"d39f3cc71382165bb7efb8e06a2bd32f847de4ae\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        },\n                        {\n                            \"version\": \"7cee966029037a183d98cb88251ceb92a233fe63\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        },\n                        {\n                            \"version\": \"4.14.120\",\n                            \"lessThan\": \"4.15\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"4.19.44\",\n                            \"lessThan\": \"4.20\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"5.0.17\",\n                            \"lessThan\": \"5.1\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"semver\"\n                        }\n                    ]\n                }"},{"ecosystem":"Vendor product","name":"Linux","ranges":[],"versions":[],"rawVersionEvidence":"{\n                    \"product\": \"Linux\",\n                    \"vendor\": \"Linux\",\n                    \"defaultStatus\": \"affected\",\n                    \"repo\": \"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\",\n                    \"programFiles\": [\n                        \"include/linux/kvm_host.h\"\n                    ],\n                    \"versions\": [\n                        {\n                            \"version\": \"5.1\",\n                            \"status\": \"affected\"\n                        },\n                        {\n                            \"version\": \"0\",\n                            \"lessThan\": \"5.1\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"5.4.291\",\n                            \"lessThanOrEqual\": \"5.4.*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"5.10.235\",\n                            \"lessThanOrEqual\": \"5.10.*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"5.15.179\",\n                            \"lessThanOrEqual\": \"5.15.*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"6.1.129\",\n                            \"lessThanOrEqual\": \"6.1.*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"6.6.78\",\n                            \"lessThanOrEqual\": \"6.6.*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"6.12.14\",\n                            \"lessThanOrEqual\": \"6.12.*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"6.13.3\",\n                            \"lessThanOrEqual\": \"6.13.*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"6.14\",\n                            \"lessThanOrEqual\": \"*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"original_commit_for_fix\"\n                        }\n                    ]\n                }"}],"metrics":[{"system":"CVSS 3.1","vector":"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H","score":7.8,"severity":"HIGH"}],"references":["https://git.kernel.org/stable/c/5cce2ed69b00e022b5cdf0c49c82986abd2941a8","https://git.kernel.org/stable/c/09d50ccf0b2d739db4a485b08afe7520a4402a63","https://git.kernel.org/stable/c/7c4899239d0f70f88ac42665b3da51678d122480","https://git.kernel.org/stable/c/d817e510662fd1c9797952408d94806f97a5fffd","https://git.kernel.org/stable/c/125da53b3c0c9d7f58353aea0076e9efd6498ba7","https://git.kernel.org/stable/c/f2f805ada63b536bc192458a7098388286568ad4","https://git.kernel.org/stable/c/ca8da90ed1432ff3d000de4f1e2275d4e7d21b96","https://git.kernel.org/stable/c/1e7381f3617d14b3c11da80ff5f8a93ab14cfc46"],"sourceUrl":"https://www.cve.org/CVERecord?id=CVE-2024-58083","license":"CVE Program Terms of Use","key":"cve-program:CVE-2024-58083","identifiers":["CVE-2024-58083"]},"retained":false,"historicalAffected":[]}],"coverage":[{"source":"cisa-kev:global","scope":"Complete CISA KEV catalog; all vendors. Missing entries do not establish absence of exploitation.","generation":"2026-11-09T20:04:25.0077254+00:00","complete":true,"records":1772,"lastAttemptAt":"2026-11-09T20:04:25.0077254+00:00","lastSuccessAt":"2026-11-09T20:04:25.1926568+00:00","error":null,"lastVerifiedAt":"2026-11-09T20:04:25.192657+00:00","snapshotPublishedAt":null,"importing":false,"stagedRecords":0,"checkedIdentifiers":null,"expectedIdentifiers":null,"failedIdentifiers":null},{"source":"cve-program","scope":"Official CVE Program baseline and cumulative hourly delta; all vendors, published and rejected records","generation":"cve-24e6fde7b744113daefb8f6135035fb8a5c69c9617c9c0d40574a0376532ffd3-4a9560b8b58726018512a0a26f2f2de094eec0a9257ebc797e76aa7229628f6d","complete":true,"records":421528,"lastAttemptAt":"2026-11-09T20:02:23.7922996+00:00","lastSuccessAt":"2026-11-09T20:02:23.6346925+00:00","error":null,"lastVerifiedAt":"2026-11-09T20:02:23.7922996+00:00","snapshotPublishedAt":"2026-11-09T19:26:49+00:00","importing":false,"stagedRecords":0,"checkedIdentifiers":null,"expectedIdentifiers":null,"failedIdentifiers":null},{"source":"euvd","scope":"Rolling EUVD lookups of CVE aliases in current public OSV archives; 500 identifiers per refresh, rechecked after 48 hours. Not a global EUVD catalog. Successful not-found lookups count as checked; they do not imply withdrawal or safety. No reader inventory is sent.","generation":"enrichment-07fb27e56bcd48c9b51e00bd5fd6fa23","complete":false,"records":13655,"lastAttemptAt":"2026-11-09T20:09:02.2862652+00:00","lastSuccessAt":"2026-11-09T20:09:02.3526702+00:00","error":null,"lastVerifiedAt":"2026-11-09T20:09:02.3526702+00:00","snapshotPublishedAt":null,"importing":false,"stagedRecords":0,"checkedIdentifiers":null,"expectedIdentifiers":null,"failedIdentifiers":null},{"source":"first-epss:nuget","scope":"FIRST EPSS for explicit CVE aliases in the collected public NuGet archive. Not a global EPSS backfill.","generation":"2026-11-09T20:04:25.0077254+00:00","complete":true,"records":1096,"lastAttemptAt":"2026-11-09T20:04:25.0077254+00:00","lastSuccessAt":"2026-11-09T20:04:25.193761+00:00","error":null,"lastVerifiedAt":"2026-11-09T20:04:25.1937612+00:00","snapshotPublishedAt":null,"importing":false,"stagedRecords":0,"checkedIdentifiers":null,"expectedIdentifiers":null,"failedIdentifiers":null},{"source":"nvd","scope":"Rolling NVD lookups of CVE aliases in current public OSV archives; 500 identifiers per refresh, rechecked after 48 hours. Not a global NVD catalog. Successful not-found lookups count as checked; they do not imply withdrawal or safety. No reader inventory is sent.","generation":"enrichment-9938fd6291bf40d68f5b1fd395158ad4","complete":true,"records":13667,"lastAttemptAt":"2026-11-09T20:04:38.0577664+00:00","lastSuccessAt":"2026-11-09T20:04:38.055+00:00","error":null,"lastVerifiedAt":"2026-11-09T20:04:38.055+00:00","snapshotPublishedAt":null,"importing":false,"stagedRecords":0,"checkedIdentifiers":13707,"expectedIdentifiers":13707,"failedIdentifiers":0},{"source":"osv:Go","scope":"Complete OSV Go ecosystem archive, including withdrawn and malicious-package source records; statement counts are not unique CVE counts","generation":"go-980593e6977a6d1b4fb1eed5a1ffe88a468736f89f0a06f710924ad59132c023","complete":true,"records":9914,"lastAttemptAt":"2026-11-09T20:04:24.9600639+00:00","lastSuccessAt":"2026-11-08T11:07:07.068788+00:00","error":null,"lastVerifiedAt":"2026-11-09T20:04:24.9600639+00:00","snapshotPublishedAt":"2026-11-08T11:02:46+00:00","importing":false,"stagedRecords":0,"checkedIdentifiers":null,"expectedIdentifiers":null,"failedIdentifiers":null},{"source":"osv:NuGet","scope":"Complete OSV NuGet ecosystem archive, including GitHub Advisory Database records; NuGet version matching only","generation":"nuget-712163772d637a9cfaa34d4241efb9e9d0ccd6149596c672c613d362f44af841","complete":true,"records":1971,"lastAttemptAt":"2026-11-09T20:02:23.9593912+00:00","lastSuccessAt":"2026-11-09T18:02:23.0088273+00:00","error":null,"lastVerifiedAt":"2026-11-09T20:02:23.9593912+00:00","snapshotPublishedAt":"2026-11-09T17:03:01+00:00","importing":false,"stagedRecords":0,"checkedIdentifiers":null,"expectedIdentifiers":null,"failedIdentifiers":null},{"source":"osv:crates.io","scope":"Complete OSV crates.io ecosystem archive, including withdrawn and malicious-package source records; statement counts are not unique CVE counts","generation":"crates.io-761ecc9061239b0da572dc9254c6f384c1d19339eb08408c436647a2f26129e9","complete":true,"records":3064,"lastAttemptAt":"2026-11-09T20:04:24.9750181+00:00","lastSuccessAt":"2026-11-09T17:05:03.4044794+00:00","error":null,"lastVerifiedAt":"2026-11-09T20:04:24.9750181+00:00","snapshotPublishedAt":"2026-11-09T16:33:20+00:00","importing":false,"stagedRecords":0,"checkedIdentifiers":null,"expectedIdentifiers":null,"failedIdentifiers":null},{"source":"osv:npm","scope":"Complete OSV npm ecosystem archive, including withdrawn and malicious-package source records; statement counts are not unique CVE counts","generation":"npm-604a3d0f2ac3a85e07b87120f064f717efb18ea8fa81b2bec8e0f33ba949fa25","complete":true,"records":231321,"lastAttemptAt":"2026-11-09T20:04:24.8172812+00:00","lastSuccessAt":"2026-11-09T20:04:23.3062045+00:00","error":null,"lastVerifiedAt":"2026-11-09T20:04:24.8172812+00:00","snapshotPublishedAt":"2026-11-09T19:33:14+00:00","importing":false,"stagedRecords":0,"checkedIdentifiers":null,"expectedIdentifiers":null,"failedIdentifiers":null}]}