Bug 1225812 (CVE-2024-36953)

Summary: VUL-0: CVE-2024-36953: kernel: KVM: arm64: vgic-v2: Check for non-NULL vCPU in vgic_v2_parse_attr()
Product: [Novell Products] SUSE Security Incidents Reporter: SMASH SMASH <smash_bz>
Component: IncidentsAssignee: Security Team bot <security-team>
Status: IN_PROGRESS --- QA Contact: Security Team bot <security-team>
Severity: Normal    
Priority: P3 - Medium CC: ivan.ivanov, rfrohl
Version: unspecified   
Target Milestone: ---   
Hardware: Other   
OS: Other   
URL: https://smash.suse.de/issue/408190/
Whiteboard: CVSSv3.1:SUSE:CVE-2024-36953:4.7:(AV:L/AC:H/PR:L/UI:N/S:U/C:N/I:N/A:H)
Found By: Security Response Team Services Priority:
Business Priority: Blocker: ---
Marketing QA Status: --- IT Deployment: ---

Description SMASH SMASH 2024-06-03 08:53:01 UTC
In the Linux kernel, the following vulnerability has been resolved:

KVM: arm64: vgic-v2: Check for non-NULL vCPU in vgic_v2_parse_attr()

vgic_v2_parse_attr() is responsible for finding the vCPU that matches
the user-provided CPUID, which (of course) may not be valid. If the ID
is invalid, kvm_get_vcpu_by_id() returns NULL, which isn't handled
gracefully.

Similar to the GICv3 uaccess flow, check that kvm_get_vcpu_by_id()
actually returns something and fail the ioctl if not.

References:
http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2024-36953
https://git.kernel.org/pub/scm/linux/security/vulns.git/plain/cve/published/2024/CVE-2024-36953.mbox
https://git.kernel.org/stable/c/4404465a1bee3607ad90a4c5f9e16dfd75b85728
https://git.kernel.org/stable/c/17db92da8be5dd3bf63c01f4109fe47db64fc66f
https://git.kernel.org/stable/c/3a5b0378ac6776c7c31b18e0f3c1389bd6005e80
https://git.kernel.org/stable/c/8d6a1c8e3de36cb0f5e866f1a582b00939e23104
https://git.kernel.org/stable/c/01981276d64e542c177b243f7c979fee855d5487
https://git.kernel.org/stable/c/6ddb4f372fc63210034b903d96ebbeb3c7195adb
https://www.cve.org/CVERecord?id=CVE-2024-36953
Comment 2 Ivan Ivanov 2024-06-04 09:23:27 UTC
Wrong Fixes tag. The commit which introduces the issue is:

---
commit 4e7728c81a54b17bd33be402ac140bc11bb0c4f4
Refs: v6.6-rc2-4-g4e7728c81a54
Author: Marc Zyngier <maz@kernel.org>
CommitDate: Sat Sep 30 18:15:43 2023 +0000

    KVM: arm64: vgic-v2: Use cpuid from userspace as vcpu_id

----

Which is not part of our kernels. Not affected.

Back to security team.