Skip to content
Heist/ feed
Back to feed
HighFix available

KVM: arm64: Tear down vGIC on failed vCPU creation

Type: advisorySources: OSV

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 source

Published 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"
}