CVE Catalog

CVE-2025-22044

HighCVSS 7.1
Published: Updated: Translated: NVD NIST

Exploitation Probability (EPSS)

Low risk
0.20%

10th percentile - higher than 10% of all known CVEs

Summary

In the Linux kernel ACPI NFIT driver, acpi_nfit_ctl() incorrectly converts call_pkg->nd_family from u64 to int before range checking. This can bypass validation when the upper 32 bits are non-zero and lower 32 bits are zero, leading to an invalid argument.

Risk Assessment

An attacker can supply crafted input to bypass validation, potentially causing undefined behavior in the NFIT driver, leading to system crashes or privilege escalation.

Recommendation

Apply the Linux kernel patch that fixes the type conversion and adds early EINVAL return for invalid input in acpi_nfit_ctl().

Other vulnerabilities in Linux kernel

See all
Original NVD description (English source)

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]

Vulnerability data from NVD (NIST) · CISA KEV · EPSS