CVE-2025-38283 (GCVE-0-2025-38283)
Vulnerability from cvelistv5
Published
2025-07-10 07:42
Modified
2026-08-05 12:00
Summary
In the Linux kernel, the following vulnerability has been resolved: hisi_acc_vfio_pci: bugfix live migration function without VF device driver If the VF device driver is not loaded in the Guest OS and we attempt to perform device data migration, the address of the migrated data will be NULL. The live migration recovery operation on the destination side will access a null address value, which will cause access errors. Therefore, live migration of VMs without added VF device drivers does not require device data migration. In addition, when the queue address data obtained by the destination is empty, device queue recovery processing will not be performed.
Impacted products
Vendor Product Version
Linux Linux Version: b0eed085903e7758532696d64397901a75bba8ba
Version: b0eed085903e7758532696d64397901a75bba8ba
Version: b0eed085903e7758532696d64397901a75bba8ba
Version: b0eed085903e7758532696d64397901a75bba8ba
Create a notification for this product.
Show details on NVD website


{
  "containers": {
    "cna": {
      "affected": [
        {
          "defaultStatus": "unaffected",
          "product": "Linux",
          "programFiles": [
            "drivers/vfio/pci/hisilicon/hisi_acc_vfio_pci.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "lessThan": "b5ef128926cd34dffa2a66607b9c82b902581ef8",
              "status": "affected",
              "version": "b0eed085903e7758532696d64397901a75bba8ba",
              "versionType": "git"
            },
            {
              "lessThan": "59a834592dd200969fdf3c61be1cb0615c647e45",
              "status": "affected",
              "version": "b0eed085903e7758532696d64397901a75bba8ba",
              "versionType": "git"
            },
            {
              "lessThan": "53e8e8e909f7c3a77857d09d2b733a42547f57ee",
              "status": "affected",
              "version": "b0eed085903e7758532696d64397901a75bba8ba",
              "versionType": "git"
            },
            {
              "lessThan": "2777a40998deb36f96b6afc48bd397cf58a4edf0",
              "status": "affected",
              "version": "b0eed085903e7758532696d64397901a75bba8ba",
              "versionType": "git"
            }
          ]
        },
        {
          "defaultStatus": "affected",
          "product": "Linux",
          "programFiles": [
            "drivers/vfio/pci/hisilicon/hisi_acc_vfio_pci.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "5.18"
            },
            {
              "lessThan": "5.18",
              "status": "unaffected",
              "version": "0",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.6.*",
              "status": "unaffected",
              "version": "6.6.94",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.12.*",
              "status": "unaffected",
              "version": "6.12.34",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.15.*",
              "status": "unaffected",
              "version": "6.15.3",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "*",
              "status": "unaffected",
              "version": "6.16",
              "versionType": "original_commit_for_fix"
            }
          ]
        }
      ],
      "cpeApplicability": [
        {
          "nodes": [
            {
              "cpeMatch": [
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.6.94",
                  "versionStartIncluding": "5.18",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.12.34",
                  "versionStartIncluding": "5.18",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.15.3",
                  "versionStartIncluding": "5.18",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.16",
                  "versionStartIncluding": "5.18",
                  "vulnerable": true
                }
              ],
              "negate": false,
              "operator": "OR"
            }
          ]
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nhisi_acc_vfio_pci: bugfix live migration function without VF device driver\n\nIf the VF device driver is not loaded in the Guest OS and we attempt to\nperform device data migration, the address of the migrated data will\nbe NULL.\nThe live migration recovery operation on the destination side will\naccess a null address value, which will cause access errors.\n\nTherefore, live migration of VMs without added VF device drivers\ndoes not require device data migration.\nIn addition, when the queue address data obtained by the destination\nis empty, device queue recovery processing will not be performed."
        }
      ],
      "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 vulnerable path is driven entirely through local file operations on a VFIO device fd \u2014 `VFIO_DEVICE_FEATURE` migration-state ioctls plus `write()` on the migration fd \u2014 with no network-facing component.\nAC:L - Triggering is fully deterministic: either leave the VF driver unloaded in the guest before migration, or simply open the device and perform STOP\u2192RUNNING, since `vf_qm_state` defaults to `QM_READY` (0) from kzalloc. No race, timing window, or memory-layout condition is involved.\nPR:L - An unprivileged local user granted access to /dev/vfio/* or /dev/iommu (the standard libvirt/QEMU delegation model) can reach the migration state machine; no capability is required on the IOMMU-backed path, as `CAP_SYS_RAWIO` gates only VFIO_NO_IOMMU mode.\nUI:N - The attacker performs every step themselves \u2014 open device, set RESUMING, write zeroed migration data, set STOP/RUNNING \u2014 with no action required from an administrator or any other user.\nS:C - Zeroed queue-context bases make the accelerator DMA against unintended addresses in the assigned domain, and the resulting device errors escalate through `qm_abnormal_irq()` to a PF `qm_controller_reset()` that calls `qm_try_stop_vfs()`, halting every sibling VF belonging to other VMs and the host\u0027s own crypto drivers \u2014 impact well beyond the attacker\u0027s own VFIO device.\nC:H - With SQC/CQC/EQC bases set to zero the accelerator fetches queue contexts from IOVA 0 (guest physical page 0 in a typical no-vIOMMU passthrough) and follows those garbage descriptors, exposing memory never designated as queue storage through the device\u0027s queue and response path.\nI:H - The same bogus contexts cause the device to write CQEs/EQEs into arbitrary attacker-influenceable addresses in the DMA domain, silently corrupting a migrated VM\u0027s memory, while zeroed queue state is also committed into the physical VF\u0027s hardware configuration.\nA:H - The NULL-address queue programming produces AXI/queue-invalid errors in the QM reset mask, which drive `qm_abnormal_irq()` \u2192 `qm_controller_reset()`, stopping the PF and all VFs \u2014 a full accelerator outage for the host and every VM using that device, in addition to failing the migration."
            }
          ]
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2026-08-05T12:00:58.088Z",
        "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "shortName": "Linux"
      },
      "references": [
        {
          "url": "https://git.kernel.org/stable/c/b5ef128926cd34dffa2a66607b9c82b902581ef8"
        },
        {
          "url": "https://git.kernel.org/stable/c/59a834592dd200969fdf3c61be1cb0615c647e45"
        },
        {
          "url": "https://git.kernel.org/stable/c/53e8e8e909f7c3a77857d09d2b733a42547f57ee"
        },
        {
          "url": "https://git.kernel.org/stable/c/2777a40998deb36f96b6afc48bd397cf58a4edf0"
        }
      ],
      "title": "hisi_acc_vfio_pci: bugfix live migration function without VF device driver",
      "x_generator": {
        "engine": "bippy-1.2.0"
      }
    }
  },
  "cveMetadata": {
    "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
    "assignerShortName": "Linux",
    "cveId": "CVE-2025-38283",
    "datePublished": "2025-07-10T07:42:01.018Z",
    "dateReserved": "2025-04-16T04:51:24.000Z",
    "dateUpdated": "2026-08-05T12:00:58.088Z",
    "state": "PUBLISHED"
  },
  "dataType": "CVE_RECORD",
  "dataVersion": "5.2"
}


Log in or create an account to share your comment.




Tags
Taxonomy of the tags.


Loading…

Loading…

Loading…

Sightings

Author Source Type Date

Nomenclature

  • Seen: The vulnerability was mentioned, discussed, or seen somewhere by the user.
  • Confirmed: The vulnerability is confirmed from an analyst perspective.
  • Published Proof of Concept: A public proof of concept is available for this vulnerability.
  • Exploited: This vulnerability was exploited and seen by the user reporting the sighting.
  • Patched: This vulnerability was successfully patched by the user reporting the sighting.
  • Not exploited: This vulnerability was not exploited or seen by the user reporting the sighting.
  • Not confirmed: The user expresses doubt about the veracity of the vulnerability.
  • Not patched: This vulnerability was not successfully patched by the user reporting the sighting.


Loading…

Loading…