CVE-2025-38283 (GCVE-0-2025-38283)

Vulnerability from cvelistv5 – Published: 2025-07-10 07:42 – Updated: 2026-08-05 12:00
VLAI
Title
hisi_acc_vfio_pci: bugfix live migration function without VF device driver
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.
Assigner
Impacted products
Vendor Product Version
Linux Linux Affected: b0eed085903e7758532696d64397901a75bba8ba , < b5ef128926cd34dffa2a66607b9c82b902581ef8 (git)
Affected: b0eed085903e7758532696d64397901a75bba8ba , < 59a834592dd200969fdf3c61be1cb0615c647e45 (git)
Affected: b0eed085903e7758532696d64397901a75bba8ba , < 53e8e8e909f7c3a77857d09d2b733a42547f57ee (git)
Affected: b0eed085903e7758532696d64397901a75bba8ba , < 2777a40998deb36f96b6afc48bd397cf58a4edf0 (git)
Create a notification for this product.
Linux Linux Affected: 5.18
Unaffected: 0 , < 5.18 (semver)
Unaffected: 6.6.94 , ≤ 6.6.* (semver)
Unaffected: 6.12.34 , ≤ 6.12.* (semver)
Unaffected: 6.15.3 , ≤ 6.15.* (semver)
Unaffected: 6.16 , ≤ * (original_commit_for_fix)
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",
  "vulnerability-lookup:meta": {
    "epss": {
      "cve": "CVE-2025-38283",
      "date": "2026-08-05",
      "epss": "0.00168",
      "percentile": "0.06372"
    },
    "microsoft_vex": {
      "current_release_date": "2026-02-18T15:02:34.000Z",
      "cve": "CVE-2025-38283",
      "id": "msrc_CVE-2025-38283",
      "initial_release_date": "2025-07-02T00:00:00.000Z",
      "product_status:fixed": "2",
      "product_status:known_affected": "2",
      "source": "Microsoft CSAF VEX",
      "status": "final",
      "title": "hisi_acc_vfio_pci: bugfix live migration function without VF device driver",
      "url": "https://msrc.microsoft.com/csaf/vex/2025/msrc_cve-2025-38283.json",
      "version": "2"
    },
    "nvd": "{\"cve\":{\"id\":\"CVE-2025-38283\",\"sourceIdentifier\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"published\":\"2025-07-10T08:15:26.740\",\"lastModified\":\"2026-07-30T06:23:05.950\",\"vulnStatus\":\"Modified\",\"cveTags\":[],\"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.\"},{\"lang\":\"es\",\"value\":\"En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: hisi_acc_vfio_pci: correcci\u00f3n de errores en la funci\u00f3n de migraci\u00f3n en vivo sin controlador de dispositivo VF. Si el controlador de dispositivo VF no est\u00e1 cargado en el sistema operativo invitado e intentamos migrar los datos del dispositivo, la direcci\u00f3n de los datos migrados ser\u00e1 nula. La operaci\u00f3n de recuperaci\u00f3n de la migraci\u00f3n en vivo en el destino acceder\u00e1 a una direcci\u00f3n nula, lo que provocar\u00e1 errores de acceso. Por lo tanto, la migraci\u00f3n en vivo de m\u00e1quinas virtuales sin controladores de dispositivo VF a\u00f1adidos no requiere la migraci\u00f3n de datos del dispositivo. Adem\u00e1s, si los datos de direcci\u00f3n de la cola obtenidos por el destino est\u00e1n vac\u00edos, no se realizar\u00e1 el procesamiento de recuperaci\u00f3n de la cola del dispositivo.\"}],\"affected\":[{\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"affectedData\":[{\"vendor\":\"Linux\",\"product\":\"Linux\",\"defaultStatus\":\"unaffected\",\"programFiles\":[\"drivers/vfio/pci/hisilicon/hisi_acc_vfio_pci.c\"],\"repo\":\"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\",\"versions\":[{\"version\":\"b0eed085903e7758532696d64397901a75bba8ba\",\"lessThan\":\"b5ef128926cd34dffa2a66607b9c82b902581ef8\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"b0eed085903e7758532696d64397901a75bba8ba\",\"lessThan\":\"59a834592dd200969fdf3c61be1cb0615c647e45\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"b0eed085903e7758532696d64397901a75bba8ba\",\"lessThan\":\"53e8e8e909f7c3a77857d09d2b733a42547f57ee\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"b0eed085903e7758532696d64397901a75bba8ba\",\"lessThan\":\"2777a40998deb36f96b6afc48bd397cf58a4edf0\",\"versionType\":\"git\",\"status\":\"affected\"}]},{\"vendor\":\"Linux\",\"product\":\"Linux\",\"defaultStatus\":\"affected\",\"programFiles\":[\"drivers/vfio/pci/hisilicon/hisi_acc_vfio_pci.c\"],\"repo\":\"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\",\"versions\":[{\"version\":\"5.18\",\"status\":\"affected\"},{\"version\":\"0\",\"lessThan\":\"5.18\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"6.6.94\",\"lessThanOrEqual\":\"6.6.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"6.12.34\",\"lessThanOrEqual\":\"6.12.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"6.15.3\",\"lessThanOrEqual\":\"6.15.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"6.16\",\"lessThanOrEqual\":\"*\",\"versionType\":\"original_commit_for_fix\",\"status\":\"unaffected\"}]}]}],\"metrics\":{\"cvssMetricV31\":[{\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"type\":\"Secondary\",\"cvssData\":{\"version\":\"3.1\",\"vectorString\":\"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H\",\"baseScore\":8.8,\"baseSeverity\":\"HIGH\",\"attackVector\":\"LOCAL\",\"attackComplexity\":\"LOW\",\"privilegesRequired\":\"LOW\",\"userInteraction\":\"NONE\",\"scope\":\"CHANGED\",\"confidentialityImpact\":\"HIGH\",\"integrityImpact\":\"HIGH\",\"availabilityImpact\":\"HIGH\"},\"exploitabilityScore\":2.0,\"impactScore\":6.0},{\"source\":\"nvd@nist.gov\",\"type\":\"Primary\",\"cvssData\":{\"version\":\"3.1\",\"vectorString\":\"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H\",\"baseScore\":5.5,\"baseSeverity\":\"MEDIUM\",\"attackVector\":\"LOCAL\",\"attackComplexity\":\"LOW\",\"privilegesRequired\":\"LOW\",\"userInteraction\":\"NONE\",\"scope\":\"UNCHANGED\",\"confidentialityImpact\":\"NONE\",\"integrityImpact\":\"NONE\",\"availabilityImpact\":\"HIGH\"},\"exploitabilityScore\":1.8,\"impactScore\":3.6}]},\"weaknesses\":[{\"source\":\"nvd@nist.gov\",\"type\":\"Primary\",\"description\":[{\"lang\":\"en\",\"value\":\"NVD-CWE-noinfo\"}]}],\"configurations\":[{\"nodes\":[{\"operator\":\"OR\",\"negate\":false,\"cpeMatch\":[{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\",\"versionStartIncluding\":\"5.18\",\"versionEndExcluding\":\"6.6.94\",\"matchCriteriaId\":\"9C190AFB-6993-4B1D-9330-79CD7CD23E99\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\",\"versionStartIncluding\":\"6.7\",\"versionEndExcluding\":\"6.12.34\",\"matchCriteriaId\":\"4FFA54AA-CDFE-4591-BD07-72813D0948F4\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\",\"versionStartIncluding\":\"6.13\",\"versionEndExcluding\":\"6.15.3\",\"matchCriteriaId\":\"0541C761-BD5E-4C1A-8432-83B375D7EB92\"}]}]}],\"references\":[{\"url\":\"https://git.kernel.org/stable/c/2777a40998deb36f96b6afc48bd397cf58a4edf0\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"tags\":[\"Patch\"]},{\"url\":\"https://git.kernel.org/stable/c/53e8e8e909f7c3a77857d09d2b733a42547f57ee\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"tags\":[\"Patch\"]},{\"url\":\"https://git.kernel.org/stable/c/59a834592dd200969fdf3c61be1cb0615c647e45\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"tags\":[\"Patch\"]},{\"url\":\"https://git.kernel.org/stable/c/b5ef128926cd34dffa2a66607b9c82b902581ef8\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"tags\":[\"Patch\"]}]}}",
    "redhat_vex": {
      "aggregate_severity": "None",
      "current_release_date": "2026-06-30T10:29:35+00:00",
      "cve": "CVE-2025-38283",
      "id": "CVE-2025-38283",
      "initial_release_date": "2025-07-10T00:00:00+00:00",
      "product_status:known_not_affected": "274",
      "source": "Red Hat CSAF VEX",
      "status": "final",
      "title": "kernel: hisi_acc_vfio_pci: bugfix live migration function without VF device driver",
      "url": "https://security.access.redhat.com/data/csaf/v2/vex/2025/cve-2025-38283.json",
      "version": "3"
    }
  }
}



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…