KVM: arm64: Tear down vGIC on failed vCPU creation
In the Linux kernel, the following vulnerability has been resolved: KVM: arm64: Tear down vGIC on failed vCPU creation If kvm_arch_vcpu_create() fails to share the vCPU page with the hypervisor, we propagate the error back to the ioctl but leave the vGIC vCPU data initialised. Note only does this leak the corresponding memory when the vCPU is destroyed but it can also lead to use-after-free if the redistributor device handling tries to walk into the vCPU. Add the missing cleanup to kvm_arch_vcpu_create(), ensuring that the vGIC vCPU structures are destroyed on error.
- Products
- Kernel
- Affected versions
- Not specified
- Fixed versions
- 6.1.135, 6.12.24, 6.13.12, 6.14.3, 6.6.88
- CVEs
- CVE-2025-37849
- Confirmed fixed CVEs
- Not specified
- Updated in this feed
- 4 Nov 2026, 21:37 UTC · Revision 1
Source evidence
KVM: arm64: Tear down vGIC on failed vCPU creation
core-osv · Original sourcePublished 9 May 2025, 06:41 UTC
In the Linux kernel, the following vulnerability has been resolved: KVM: arm64: Tear down vGIC on failed vCPU creation If kvm_arch_vcpu_create() fails to share the vCPU page with the hypervisor, we propagate the error back to the ioctl but leave the vGIC vCPU data initialised. Note only does this leak the corresponding memory when the vCPU is destroyed but it can also lead to use-after-free if the redistributor device handling tries to walk into the vCPU. Add the missing cleanup to kvm_arch_vcpu_create(), ensuring that the vGIC vCPU structures are destroyed on error.
osv:CVE-2025-37849
Kernel
Fixed versions: 6.1.135, 6.6.88, 6.12.24, 6.13.12, 6.14.3
Complete source record
{
"id": "972b7bc658543224ea74a211f8acf4a4b3fa4204ee28b19e7c2804f91eaf13b7",
"url": "https://osv.dev/vulnerability/CVE-2025-37849",
"method": "structured",
"payload": {
"kind": "advisory",
"title": "KVM: arm64: Tear down vGIC on failed vCPU creation",
"summary": "In the Linux kernel, the following vulnerability has been resolved: KVM: arm64: Tear down vGIC on failed vCPU creation If kvm_arch_vcpu_create() fails to share the vCPU page with the hypervisor, we propagate the error back to the ioctl but leave the vGIC vCPU data initialised. Note only does this leak the corresponding memory when the vCPU is destroyed but it can also lead to use-after-free if the redistributor device handling tries to walk into the vCPU. Add the missing cleanup to kvm_arch_vcpu_create(), ensuring that the vGIC vCPU structures are destroyed on error.",
"evidence": "osv:CVE-2025-37849",
"products": [
{
"name": {
"value": "Kernel",
"evidence": "/affected/1/package/name"
},
"prerequisites": [],
"fixed_versions": [
{
"value": "6.1.135",
"evidence": "/affected/1/ranges"
},
{
"value": "6.6.88",
"evidence": "/affected/1/ranges"
},
{
"value": "6.12.24",
"evidence": "/affected/1/ranges"
},
{
"value": "6.13.12",
"evidence": "/affected/1/ranges"
},
{
"value": "6.14.3",
"evidence": "/affected/1/ranges"
}
],
"affected_versions": []
}
],
"severity": "high",
"structured": {
"id": "CVE-2025-37849",
"aliases": [
"CVE-2025-37849"
],
"metrics": [
{
"type": "CVSS_V3",
"score": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H"
}
],
"affected": [
{
"ranges": [
{
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"type": "GIT",
"events": [
{
"introduced": "6211753fdfd05af9e08f54c8d0ba3ee516034878"
},
{
"fixed": "07476e0d932afc53c05468076393ac35d0b4999e"
},
{
"fixed": "5085e02362b9948f82fceca979b8f8e12acb1cc5"
},
{
"fixed": "c322789613407647a05ff5c451a7bf545fb34e73"
},
{
"fixed": "2480326eba8ae9ccc5e4c3c2dc8d407db68e3c52"
},
{
"fixed": "f1e9087abaeedec9bf2894a282ee4f0d8383f299"
},
{
"fixed": "250f25367b58d8c65a1b060a2dda037eea09a672"
}
]
}
],
"database_specific": {
"source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2025-37849.json"
}
},
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "3.11.0"
},
{
"fixed": "6.1.135"
}
]
},
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "6.2.0"
},
{
"fixed": "6.6.88"
}
]
},
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "6.7.0"
},
{
"fixed": "6.12.24"
}
]
},
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "6.13.0"
},
{
"fixed": "6.13.12"
}
]
},
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "6.14.0"
},
{
"fixed": "6.14.3"
}
]
}
],
"package": {
"name": "Kernel",
"ecosystem": "Linux"
},
"database_specific": {
"source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2025-37849.json"
}
}
],
"modified": "2026-10-28T02:30:39.909081896Z",
"provider": "osv",
"references": [
"https://git.kernel.org/stable/c/07476e0d932afc53c05468076393ac35d0b4999e",
"https://git.kernel.org/stable/c/2480326eba8ae9ccc5e4c3c2dc8d407db68e3c52",
"https://git.kernel.org/stable/c/250f25367b58d8c65a1b060a2dda037eea09a672",
"https://git.kernel.org/stable/c/5085e02362b9948f82fceca979b8f8e12acb1cc5",
"https://git.kernel.org/stable/c/c322789613407647a05ff5c451a7bf545fb34e73",
"https://git.kernel.org/stable/c/f1e9087abaeedec9bf2894a282ee4f0d8383f299",
"https://lists.debian.org/debian-lts-announce/2025/05/msg00045.html",
"https://github.com/CVEProject/cvelistV5/tree/main/cves/2025/37xxx/CVE-2025-37849.json",
"https://nvd.nist.gov/vuln/detail/CVE-2025-37849",
"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git"
],
"provider_metadata": {
"cna_assigner": "Linux",
"osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2025/37xxx/CVE-2025-37849.json"
}
},
"related_cves": [
{
"value": "CVE-2025-37849",
"evidence": "/id"
}
],
"security_relevant": true,
"severity_evidence": "/severity/0/score"
},
"source_id": "core-osv",
"document_id": 507377,
"published_at": "2025-05-09T06:41:56.874+00:00"
}