# CVE-2026-64472: vfio/mlx5: Fix racy bitfields and tighten struct layout

Status: published. Published: 2026-07-25. Updated: 2026-11-12.

In the Linux kernel, the following vulnerability has been resolved:

vfio/mlx5: Fix racy bitfields and tighten struct layout

Bitfield operations are not atomic, they use a read-modify-write
pattern, therefore we should be careful not to pack bitfields that
can be concurrently updated into the same storage unit.

This split takes a binary approach: flags that are only modified
pre/post open/close remain bitfields, flags modified from user
action, including actions that reach across to another device (ex.
reset) use dedicated storage units.

Note mlx5_vhca_page_tracker.status is relocated to fill the alignment
hole this split exposes.

Bitfield justifications:

  migrate_cap: written only in mlx5vf_cmd_set_migratable() at probe
  chunk_mode: written only in mlx5vf_cmd_set_migratable() at probe
  mig_state_cap: written only in mlx5vf_cmd_set_migratable() at probe

Dedicated storage units:

  mdev_detach: written in the VF attach/detach event notifier
               mlx5fv_vf_event() at runtime
  log_active: written in mlx5vf_start_page_tracker()/
              mlx5vf_stop_page_tracker() during runtime dirty tracking
  deferred_reset: written in mlx5vf_state_mutex_unlock()/
                  mlx5vf_pci_aer_reset_done() during runtime reset handling
  is_err: set by tracker error handling and dirty-log polling at runtime
  object_changed: set by tracker event handling and cleared by dirty-log
                  polling at runtime

## Remediation

- fix: The reporting source identifies this reference as a patch. Check the advisory for affected versions and supported release branches. (source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67) — https://git.kernel.org/stable/c/1dd99b8f4e143592e12e5a77e7b538bc698116cb
- fix: The reporting source identifies this reference as a patch. Check the advisory for affected versions and supported release branches. (source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67) — https://git.kernel.org/stable/c/399d806f998f7a25405fc1b97227e579aead24af
- fix: The reporting source identifies this reference as a patch. Check the advisory for affected versions and supported release branches. (source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67) — https://git.kernel.org/stable/c/39d163627b51886492bf31f66cb02c94613d2287
- fix: The reporting source identifies this reference as a patch. Check the advisory for affected versions and supported release branches. (source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67) — https://git.kernel.org/stable/c/7ed120b1a007bace57c461805519d70e1af44e59
- fix: The reporting source identifies this reference as a patch. Check the advisory for affected versions and supported release branches. (source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67) — https://git.kernel.org/stable/c/f1db80a67da928a92ba460ede1be52d8941f46be
- fix: The reporting source identifies this reference as a patch. Check the advisory for affected versions and supported release branches. (source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67) — https://git.kernel.org/stable/c/f2365a63b02ddea32e7db78b742c2503ec7b81f1

## Affected products and versions

- Linux / Linux: ≥ 61a2f1460fd03285ea34c1a235f2f50f71e13a1f; < 1dd99b8f4e143592e12e5a77e7b538bc698116cb (affected, git); ≥ 61a2f1460fd03285ea34c1a235f2f50f71e13a1f; < f1db80a67da928a92ba460ede1be52d8941f46be (affected, git); ≥ 61a2f1460fd03285ea34c1a235f2f50f71e13a1f; < 399d806f998f7a25405fc1b97227e579aead24af (affected, git); ≥ 61a2f1460fd03285ea34c1a235f2f50f71e13a1f; < 7ed120b1a007bace57c461805519d70e1af44e59 (affected, git); ≥ 61a2f1460fd03285ea34c1a235f2f50f71e13a1f; < 39d163627b51886492bf31f66cb02c94613d2287 (affected, git); ≥ 61a2f1460fd03285ea34c1a235f2f50f71e13a1f; < f2365a63b02ddea32e7db78b742c2503ec7b81f1 (affected, git). Source: CNA: Linux
- Linux / Linux: 5.19 (affected); ≥ 0; < 5.19 (unaffected, semver); ≥ 6.1.178; ≤ 6.1.* (unaffected, semver); ≥ 6.6.145; ≤ 6.6.* (unaffected, semver); ≥ 6.12.97; ≤ 6.12.* (unaffected, semver); ≥ 6.18.40; ≤ 6.18.* (unaffected, semver); ≥ 7.1.4; ≤ 7.1.* (unaffected, semver); ≥ 7.2; ≤ * (unaffected, original_commit_for_fix). Source: CNA: Linux

## NVD configuration conditions

Affected CPE matches depend on the following AND/OR and negation conditions:

```json
[
  {
    "negate": false,
    "nodes": [
      {
        "cpeMatch": [
          {
            "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
            "versionEndExcluding": "6.1.178",
            "versionStartIncluding": "5.19",
            "vulnerable": true
          },
          {
            "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
            "versionEndExcluding": "6.6.145",
            "versionStartIncluding": "6.2",
            "vulnerable": true
          },
          {
            "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
            "versionEndExcluding": "6.12.97",
            "versionStartIncluding": "6.7",
            "vulnerable": true
          },
          {
            "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
            "versionEndExcluding": "6.18.40",
            "versionStartIncluding": "6.13",
            "vulnerable": true
          },
          {
            "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
            "versionEndExcluding": "7.1.4",
            "versionStartIncluding": "6.19",
            "vulnerable": true
          },
          {
            "criteria": "cpe:2.3:o:linux:linux_kernel:7.2:rc1:*:*:*:*:*:*",
            "vulnerable": true
          }
        ],
        "negate": false,
        "operator": "OR"
      }
    ],
    "operator": "OR"
  }
]
```

## Severity and prioritization

- CVSS 3.1: 5.5 (medium); CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H; source: NVD: nvd@nist.gov

- CISA KEV: No listing in collected sources

- EPSS: 0.18% as of 2026-11-10; percentile 7.73%

- SSVC: exploitation none; automatable no; technical impact partial; source ADP: CISA-ADP

- Weaknesses: Not reported

## Exploit evidence

No exploit evidence in collected sources. This is not proof of no exploitation.

## References

- https://git.kernel.org/stable/c/1dd99b8f4e143592e12e5a77e7b538bc698116cb (CNA: Linux)

- https://git.kernel.org/stable/c/f1db80a67da928a92ba460ede1be52d8941f46be (CNA: Linux)

- https://git.kernel.org/stable/c/399d806f998f7a25405fc1b97227e579aead24af (CNA: Linux)

- https://git.kernel.org/stable/c/7ed120b1a007bace57c461805519d70e1af44e59 (CNA: Linux)

- https://git.kernel.org/stable/c/39d163627b51886492bf31f66cb02c94613d2287 (CNA: Linux)

- https://git.kernel.org/stable/c/f2365a63b02ddea32e7db78b742c2503ec7b81f1 (CNA: Linux)

- https://git.kernel.org/stable/c/1dd99b8f4e143592e12e5a77e7b538bc698116cb (416baaa9-dc9f-4396-8d5f-8c081fb06d67; Patch)

- https://git.kernel.org/stable/c/399d806f998f7a25405fc1b97227e579aead24af (416baaa9-dc9f-4396-8d5f-8c081fb06d67; Patch)

- https://git.kernel.org/stable/c/39d163627b51886492bf31f66cb02c94613d2287 (416baaa9-dc9f-4396-8d5f-8c081fb06d67; Patch)

- https://git.kernel.org/stable/c/7ed120b1a007bace57c461805519d70e1af44e59 (416baaa9-dc9f-4396-8d5f-8c081fb06d67; Patch)

- https://git.kernel.org/stable/c/f1db80a67da928a92ba460ede1be52d8941f46be (416baaa9-dc9f-4396-8d5f-8c081fb06d67; Patch)

- https://git.kernel.org/stable/c/f2365a63b02ddea32e7db78b742c2503ec7b81f1 (416baaa9-dc9f-4396-8d5f-8c081fb06d67; Patch)

## Provenance

- CNA: Linux: https://www.cve.org/CVERecord?id=CVE-2026-64472; retrieved 2026-11-06; source updated 2026-11-06

- NVD: https://nvd.nist.gov/vuln/detail/CVE-2026-64472; retrieved 2026-11-12; source updated 2026-11-12

- FIRST EPSS: https://api.first.org/data/v1/epss?cve=CVE-2026-64472; retrieved 2026-11-12; source updated Not reported

Revision: 0c5d4676eea9e58374ba8572638493a8133437deaf11929c37818515c416e97c

Canonical: https://y2.dev/cve/CVE-2026-64472

## Agent and API access

Public CVE pages, Markdown, and JSON are free to read without an account or API key.

- Public catalog: https://y2.dev/cve/index.json. Follow nextCursor with the same search, filters, sort, and limit (1–100). A null cursor marks the end.

- WebMCP: search_cve_disclosures, get_cve_disclosure, get_cve_page_markdown, get_y2_cve_access. Available in compatible browsers.

- Cyber API: https://api.y2.dev/api/v2/cyber/cves and https://api.y2.dev/api/v2/cyber/cves/{cveId}.

- Y2 Pro or Elite: create a workspace API key with the intel:cyber scope and send Authorization: Bearer <Y2_API_KEY>. Setup: https://y2.dev/docs/api/create-key.

- x402: Pay per request without an account or API key. Omit Authorization, read the HTTP 402 PAYMENT-REQUIRED challenge, validate its current requirements, and retry with PAYMENT-SIGNATURE through an authorized payment client. These browser tools never make payments. Guide: https://y2.dev/docs/api/x402.

- OpenAPI: https://y2.dev/api/openapi.yaml. Agent access metadata: https://y2.dev/cve/agent.json.

Collected public records only. Check source status for coverage and freshness.