CVE-2024-40984: ACPICA: Revert "ACPICA: avoid Info: mapping multiple BARs. Your kernel is fine."
In the Linux kernel, the following vulnerability has been resolved:
ACPICA: Revert "ACPICA: avoid Info: mapping multiple BARs. Your kernel is fine."
Undo the modifications made in commit d410ee5109a1 ("ACPICA: avoid "Info: mapping multiple BARs. Your kernel is fine.""). The initial purpose of this commit was to stop memory mappings for operation regions from overlapping page boundaries, as it can trigger warnings if different page attributes are present.
However, it was found that when this situation arises, mapping continues until the boundary's end, but there is still an attempt to read/write the entire length of the map, leading to a NULL pointer deference. For example, if a four-byte mapping request is made but only one byte is mapped because it hits the current page boundary's end, a four-byte read/write attempt is still made, resulting in a NULL pointer deference.
Instead, map the entire length, as the ACPI specification does not mandate that it must be within the same page boundary. It is permissible for it to be mapped across different regions.
Affected Software
Remediation
Event History
Frequently Asked Questions
What is the severity of CVE-2024-40984?
CVE-2024-40984 has a severity rating that indicates potential for kernel instability due to recent changes in the ACPICA component.
How do I fix CVE-2024-40984?
To fix CVE-2024-40984, you should upgrade your Linux kernel to the latest non-vulnerable versions listed in the advisory.
Which versions are affected by CVE-2024-40984?
CVE-2024-40984 affects multiple versions of the Linux kernel, specifically those prior to 4.19.317, 5.4.279, 5.10.221, 5.15.162, and several 6.x versions.
What systems are impacted by CVE-2024-40984?
Linux distributions using the affected kernel versions, such as certain Red Hat and Debian releases, are impacted by CVE-2024-40984.
Is there a workaround for CVE-2024-40984?
Currently, the recommended action for CVE-2024-40984 is to apply the kernel update rather than relying on a workaround.