CVE-2025-22044: acpi: nfit: fix narrowing conversion in acpi_nfit_ctl
In the Linux kernel, the following vulnerability has been resolved:
acpi: nfit: fix narrowing conversion in acpi_nfit_ctl
Syzkaller has reported a warning in to_nfit_bus_uuid(): "only secondary
bus families can be translated". This warning is emited if the argument
is equal to NVDIMM_BUS_FAMILY_NFIT == 0. Function acpi_nfit_ctl() first
verifies that a user-provided value call_pkg->nd_family of type u64 is
not equal to 0. Then the value is converted to int, and only after that
is compared to NVDIMM_BUS_FAMILY_MAX. This can lead to passing an invalid
argument to acpi_nfit_ctl(), if call_pkg->nd_family is non-zero, while
the lower 32 bits are zero.
Furthermore, it is best to return EINVAL immediately upon seeing the
invalid user input. The WARNING is insufficient to prevent further
undefined behavior based on other invalid user input.
All checks of the input value should be applied to the original variable
call_pkg->nd_family.
[iweiny: update commit message]
Security readout for executives and security teams
Plain-English summary
A flaw in the Linux kernel’s ACPI NFIT/NVDIMM control path can mishandle a specially formed local input because a 64-bit value is narrowed before validation finishes. This may cause undefined kernel behavior, potentially exposing sensitive data or disrupting the system. The supplied CVSS score is 7.1, but exploitation requires local, low-privileged access.
Executive priority
Treat this as a high-priority kernel maintenance issue for exposed multi-user or persistent-memory systems, but not as an internet-wide emergency. Schedule prompt vendor-kernel updates, focusing first on hosts where untrusted local users or workloads can access the affected interface.
Technical view
acpi_nfit_ctl() checks the original u64 nd_family for zero, then narrows it to int before later validation. A nonzero value whose lower 32 bits are zero can consequently become NVDIMM_BUS_FAMILY_NFIT and reach an invalid path. The correction validates the original u64 and rejects invalid input with EINVAL before conversion or further processing.
Likely exposure
Exposure is most likely on affected Linux systems where a local user can reach the ACPI NFIT/NVDIMM control interface. Internet reachability alone does not expose this local attack path. The supplied affected-version data is not a reliable clean boundary, so installed distribution kernels should be checked against vendor advisories and referenced stable fixes.
Exploitation context
The CVSS vector indicates local access, low privileges, no user interaction, and potential high confidentiality and availability impact. The issue was found by Syzkaller. The bundle marks it absent from KEV and provides no evidence of active exploitation or a public weaponized exploit.
Researcher notes
The security boundary failure is a time-of-validation/type-conversion mismatch rather than a direct zero check omission. The sources describe warnings and possible further undefined behavior but do not establish a specific disclosure or crash primitive. Version metadata in the supplied bundle appears ambiguous; confirm ancestry or vendor backports instead of relying only on version strings.
Mitigation direction
Install a vendor-supported kernel containing the applicable upstream or stable fix.
Use Debian’s referenced security updates where those advisories match the deployed release.
Prioritize shared or multi-user systems exposing NFIT/NVDIMM functionality.
Check current distribution guidance if an updated kernel is not yet available.
Validation and detection
Inventory kernel versions and identify systems using ACPI NFIT or NVDIMM functionality.
Compare distribution package revisions with vendor advisories and the referenced stable commits.
Confirm the installed kernel includes validation of the original u64 nd_family value.
After updating, verify systems boot normally and relevant persistent-memory functions remain operational.
Generated from the cited source records. This long-tail analysis has not been individually reviewed by a named human.
Potential ATT&CK relevance
Conservative CVE-to-ATT&CK context
These mappings and lookup hints may be relevant to the vulnerability behavior, CWE, affected product, or exposure path. Glexia-inferred context is not an official MITRE, ATT&CK, CWE, or CVE Program mapping.
ATT&CK lookup starting points
Use these exact CWE pages and searches to review the Glexia ATT&CK library from this CVE's weakness and description context.
cve · low confidence lookup
CVE-2025-22044 mapping review
Open the CVE-to-ATT&CK bridge for reviewed, inferred, or future official mappings tied to this CVE.
These fields come from the CVE record and ADP containers, not from Glexia's Take. They preserve time-varying source decisions such as CISA SSVC, KEV status, CVSS metrics, and provider references.
1CVSS vectors
3Timeline events
1ADP providers
11Source links
CVSS vector scores
1 official score
We collect every scored CVSS vector available in the official CNA and ADP containers. When more than one version is present, the table keeps the source vectors side by side instead of collapsing them into the highest score.