CVE-2026-72283 (GCVE-0-2026-72283)

Vulnerability from cvelistv5 – Published: 2026-08-15 05:55 – Updated: 2026-08-17 05:42
VLAI
Title
KVM: x86: Nullify irqfd->producer if updating IRTE for bypass fails
Summary
In the Linux kernel, the following vulnerability has been resolved: KVM: x86: Nullify irqfd->producer if updating IRTE for bypass fails Nullify irqfd->producer if updating the IRTE for bypass fails, as leaving a dangling pointer will result in a use-after-free if the irqfd is reachable through KVM's routing, but the producer is freed separately. E.g. for VFIO PCI, the producer is embedded in struct "vfio_pci_irq_ctx" and freed when the vector is disabled, which can happen independent of routing updates. [sean: drop PPC change, massage changelog]
Impacted products
Vendor Product Version CPE status
Linux Linux Affected: 77e1b8332d1d7aa786f7515e9bd4055def6a1e06 , < d1379888cc4230bac647ec24ab83306afbd03e88 (git)
Affected: 77e1b8332d1d7aa786f7515e9bd4055def6a1e06 , < d5560b6569cd05ba72c6b33427fbabc6ec46b8cf (git)
Affected: 77e1b8332d1d7aa786f7515e9bd4055def6a1e06 , < ed446e8aa894883c08892cfee69782fdf8f6c3ca (git)
guessed Create a notification for this product.
Linux Linux Affected: 6.17
Unaffected: 0 , < 6.17 (semver)
Unaffected: 6.18.40 , ≤ 6.18.* (semver)
Unaffected: 7.1.5 , ≤ 7.1.* (semver)
Unaffected: 7.2 , ≤ * (original_commit_for_fix)
guessed Create a notification for this product.
Show details on NVD website

{
  "containers": {
    "cna": {
      "affected": [
        {
          "defaultStatus": "unaffected",
          "product": "Linux",
          "programFiles": [
            "arch/x86/kvm/irq.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "lessThan": "d1379888cc4230bac647ec24ab83306afbd03e88",
              "status": "affected",
              "version": "77e1b8332d1d7aa786f7515e9bd4055def6a1e06",
              "versionType": "git"
            },
            {
              "lessThan": "d5560b6569cd05ba72c6b33427fbabc6ec46b8cf",
              "status": "affected",
              "version": "77e1b8332d1d7aa786f7515e9bd4055def6a1e06",
              "versionType": "git"
            },
            {
              "lessThan": "ed446e8aa894883c08892cfee69782fdf8f6c3ca",
              "status": "affected",
              "version": "77e1b8332d1d7aa786f7515e9bd4055def6a1e06",
              "versionType": "git"
            }
          ]
        },
        {
          "defaultStatus": "affected",
          "product": "Linux",
          "programFiles": [
            "arch/x86/kvm/irq.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "6.17"
            },
            {
              "lessThan": "6.17",
              "status": "unaffected",
              "version": "0",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.18.*",
              "status": "unaffected",
              "version": "6.18.40",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "7.1.*",
              "status": "unaffected",
              "version": "7.1.5",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "*",
              "status": "unaffected",
              "version": "7.2",
              "versionType": "original_commit_for_fix"
            }
          ]
        }
      ],
      "cpeApplicability": [
        {
          "nodes": [
            {
              "cpeMatch": [
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.18.40",
                  "versionStartIncluding": "6.17",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "7.1.5",
                  "versionStartIncluding": "6.17",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "7.2",
                  "versionStartIncluding": "6.17",
                  "vulnerable": true
                }
              ],
              "negate": false,
              "operator": "OR"
            }
          ]
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nKVM: x86: Nullify irqfd-\u003eproducer if updating IRTE for bypass fails\n\nNullify irqfd-\u003eproducer if updating the IRTE for bypass fails, as leaving a\ndangling pointer will result in a use-after-free if the irqfd is reachable\nthrough KVM\u0027s routing, but the producer is freed separately.  E.g. for VFIO\nPCI, the producer is embedded in struct \"vfio_pci_irq_ctx\" and freed when\nthe vector is disabled, which can happen independent of routing updates.\n\n[sean: drop PPC change, massage changelog]"
        }
      ],
      "metrics": [
        {
          "cvssV3_1": {
            "baseScore": 8.8,
            "baseSeverity": "HIGH",
            "vectorString": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H",
            "version": "3.1"
          },
          "scenarios": [
            {
              "lang": "en",
              "value": "AV:L - The bug is reached only through local KVM VM ioctls (KVM_IRQFD, KVM_SET_GSI_ROUTING) and VFIO PCI IRQ ioctls that wire an irqfd consumer to a VFIO MSI/MSI-X producer; there is no network, adjacent-radio, or physical-device attack surface.\nAC:L - An attacker who can open the VM and VFIO fds controls both sides of the failure window (provoke kvm_pi_update_irte() to fail during irq_bypass_add_producer, disable the VFIO vector to free vfio_pci_irq_ctx, then change GSI routing) and can retry routing/affinity until the dangling irqfd-\u003eproducer is dereferenced.\nPR:L - Exploitation requires only local access to KVM and VFIO device nodes to issue the relevant ioctls (typical for QEMU/libvirt kvm-group operators or cloud tenants running VMs with PCI passthrough), not full init-namespace root or capabilities obtainable only inside unprivileged user namespaces.\nUI:N - The use-after-free is triggered entirely by the attacker\u0027s own ioctl sequence and subsequent routing updates; no victim login, file open, mount, or other interactive action is required.\nS:C - The dangling producer is used to update IOMMU posted-interrupt IRTEs for VFIO-assigned PCI MSIs, crossing the guest/host device-assignment boundary; corrupting interrupt remapping can compromise the host kernel and enable VM escape rather than staying within the attacker\u0027s VM scope.\nC:H - This is a kernel heap use-after-free on irqfd-\u003eproducer embedded in vfio_pci_irq_ctx; freed-object reuse supplies attacker-influenced host_irq values to irq_set_vcpu_affinity(), enabling arbitrary kernel memory reads and pointer disclosure, not merely a bounded leak.\nI:H - UAF of the VFIO irq producer plus mistaken irq_set_vcpu_affinity()/IRTE reprogramming with a stale or attacker-controlled IRQ number can corrupt host kernel heap metadata and IOMMU interrupt tables, providing a path to arbitrary write and code execution.\nA:H - Dereferencing the freed vfio_pci_irq_ctx from kvm_pi_update_irte() during kvm_irq_routing_update() can immediately BUG/WARN/oops the host kernel; even attempted exploitation of the UAF commonly crashes the host."
            }
          ]
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2026-08-17T05:42:18.185Z",
        "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "shortName": "Linux"
      },
      "references": [
        {
          "url": "https://git.kernel.org/stable/c/d1379888cc4230bac647ec24ab83306afbd03e88"
        },
        {
          "url": "https://git.kernel.org/stable/c/d5560b6569cd05ba72c6b33427fbabc6ec46b8cf"
        },
        {
          "url": "https://git.kernel.org/stable/c/ed446e8aa894883c08892cfee69782fdf8f6c3ca"
        }
      ],
      "title": "KVM: x86: Nullify irqfd-\u003eproducer if updating IRTE for bypass fails",
      "x_generator": {
        "engine": "bippy-1.2.0"
      }
    }
  },
  "cveMetadata": {
    "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
    "assignerShortName": "Linux",
    "cveId": "CVE-2026-72283",
    "datePublished": "2026-08-15T05:55:06.959Z",
    "dateReserved": "2026-08-09T03:40:39.917Z",
    "dateUpdated": "2026-08-17T05:42:18.185Z",
    "state": "PUBLISHED"
  },
  "dataType": "CVE_RECORD",
  "dataVersion": "5.2",
  "vulnerability-lookup:meta": {
    "epss": {
      "cve": "CVE-2026-72283",
      "date": "2026-09-21",
      "epss": "0.00179",
      "percentile": "0.07665"
    },
    "nvd": {
      "cve": {
        "affected": [
          {
            "affectedData": [
              {
                "defaultStatus": "unaffected",
                "product": "Linux",
                "programFiles": [
                  "arch/x86/kvm/irq.c"
                ],
                "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
                "vendor": "Linux",
                "versions": [
                  {
                    "lessThan": "d1379888cc4230bac647ec24ab83306afbd03e88",
                    "status": "affected",
                    "version": "77e1b8332d1d7aa786f7515e9bd4055def6a1e06",
                    "versionType": "git"
                  },
                  {
                    "lessThan": "d5560b6569cd05ba72c6b33427fbabc6ec46b8cf",
                    "status": "affected",
                    "version": "77e1b8332d1d7aa786f7515e9bd4055def6a1e06",
                    "versionType": "git"
                  },
                  {
                    "lessThan": "ed446e8aa894883c08892cfee69782fdf8f6c3ca",
                    "status": "affected",
                    "version": "77e1b8332d1d7aa786f7515e9bd4055def6a1e06",
                    "versionType": "git"
                  }
                ]
              },
              {
                "defaultStatus": "affected",
                "product": "Linux",
                "programFiles": [
                  "arch/x86/kvm/irq.c"
                ],
                "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
                "vendor": "Linux",
                "versions": [
                  {
                    "status": "affected",
                    "version": "6.17"
                  },
                  {
                    "lessThan": "6.17",
                    "status": "unaffected",
                    "version": "0",
                    "versionType": "semver"
                  },
                  {
                    "lessThanOrEqual": "6.18.*",
                    "status": "unaffected",
                    "version": "6.18.40",
                    "versionType": "semver"
                  },
                  {
                    "lessThanOrEqual": "7.1.*",
                    "status": "unaffected",
                    "version": "7.1.5",
                    "versionType": "semver"
                  },
                  {
                    "lessThanOrEqual": "*",
                    "status": "unaffected",
                    "version": "7.2",
                    "versionType": "original_commit_for_fix"
                  }
                ]
              }
            ],
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
          }
        ],
        "cveTags": [],
        "descriptions": [
          {
            "lang": "en",
            "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nKVM: x86: Nullify irqfd-\u003eproducer if updating IRTE for bypass fails\n\nNullify irqfd-\u003eproducer if updating the IRTE for bypass fails, as leaving a\ndangling pointer will result in a use-after-free if the irqfd is reachable\nthrough KVM\u0027s routing, but the producer is freed separately.  E.g. for VFIO\nPCI, the producer is embedded in struct \"vfio_pci_irq_ctx\" and freed when\nthe vector is disabled, which can happen independent of routing updates.\n\n[sean: drop PPC change, massage changelog]"
          }
        ],
        "id": "CVE-2026-72283",
        "lastModified": "2026-08-17T06:18:30.940",
        "metrics": {
          "cvssMetricV31": [
            {
              "cvssData": {
                "attackComplexity": "LOW",
                "attackVector": "LOCAL",
                "availabilityImpact": "HIGH",
                "baseScore": 8.8,
                "baseSeverity": "HIGH",
                "confidentialityImpact": "HIGH",
                "integrityImpact": "HIGH",
                "privilegesRequired": "LOW",
                "scope": "CHANGED",
                "userInteraction": "NONE",
                "vectorString": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H",
                "version": "3.1"
              },
              "exploitabilityScore": 2.0,
              "impactScore": 6.0,
              "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
              "type": "Secondary"
            }
          ]
        },
        "published": "2026-08-15T06:21:59.037",
        "references": [
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "url": "https://git.kernel.org/stable/c/d1379888cc4230bac647ec24ab83306afbd03e88"
          },
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "url": "https://git.kernel.org/stable/c/d5560b6569cd05ba72c6b33427fbabc6ec46b8cf"
          },
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "url": "https://git.kernel.org/stable/c/ed446e8aa894883c08892cfee69782fdf8f6c3ca"
          }
        ],
        "sourceIdentifier": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "vulnStatus": "Received"
      }
    },
    "redhat_vex": {
      "aggregate_severity": "Moderate",
      "current_release_date": "2026-08-18T19:17:44+00:00",
      "cve": "CVE-2026-72283",
      "id": "CVE-2026-72283",
      "initial_release_date": "2026-08-15T00:00:00+00:00",
      "product_status:known_affected": "90",
      "product_status:known_not_affected": "184",
      "source": "Red Hat CSAF VEX",
      "status": "final",
      "title": "kernel: KVM: x86: Nullify irqfd-\u003eproducer if updating IRTE for bypass fails",
      "url": "https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-72283.json",
      "version": "3"
    },
    "suse_vex": {
      "aggregate_severity": "important",
      "current_release_date": "2026-09-01T13:30:55Z",
      "cve": "CVE-2026-72283",
      "id": "CVE-2026-72283",
      "initial_release_date": "2026-09-01T13:30:55Z",
      "product_status:known_not_affected": "362",
      "source": "SUSE CSAF VEX",
      "status": "interim",
      "title": "SUSE CVE CVE-2026-72283",
      "url": "https://ftp.suse.com/pub/projects/security/csaf-vex/cve-2026-72283.json",
      "version": "2"
    }
  }
}



Log in or create an account to share your comment.




Tags
Taxonomy of the tags.


Loading…

Loading…

Loading…

Forecast uses a logistic model when the trend is rising, or an exponential decay model when the trend is falling. Fitted via linearized least squares.

Sightings

Author Source Type Date Other

Nomenclature

  • Seen: The vulnerability was mentioned, discussed, or observed by the user.
  • Confirmed: The vulnerability has been validated from an analyst's perspective.
  • Published Proof of Concept: A public proof of concept is available for this vulnerability.
  • Exploited: The vulnerability was observed as exploited by the user who reported the sighting.
  • Patched: The vulnerability was observed as successfully patched by the user who reported the sighting.
  • Not exploited: The vulnerability was not observed as exploited by the user who reported the sighting.
  • Not confirmed: The user expressed doubt about the validity of the vulnerability.
  • Not patched: The vulnerability was not observed as successfully patched by the user who reported the sighting.

Loading…

Detection rules are retrieved from Rulezet.

Loading…

Loading…

Related by attack behaviour

Vulnerabilities whose description is nearest to this one in the vector space of the CIRCL/vulnerability-attack-technique-biencoder model. This is a similarity search over the bi-encoder space (plain cosine), not a classification, and it has no measured accuracy.


Loading…