x86/mtrr: Check if fixed MTRRs exist before saving them
MTRRs have an obsolete fixed variant for fine grained caching control
of the 640K-1MB region that uses separate MSRs. This fixed variant has
a separate capability bit in the MTRR capability MSR.
So far all x86 CPUs which support MTRR have this separate bit set, so it
went unnoticed that mtrr_save_state() does not check the capability bit
before accessing the fixed MTRR MSRs.
Though on a CPU that does not support the fixed MTRR capability this
results in a #GP. The #GP itself is harmless because the RDMSR fault is
handled gracefully, but results in a WARN_ON().
Add the missing capability check to prevent this.
Metrics
Affected Vendors & Products
Source | ID | Title |
---|---|---|
![]() |
DLA-3912-1 | linux security update |
![]() |
DLA-4008-1 | linux-6.1 security update |
![]() |
USN-7088-1 | Linux kernel vulnerabilities |
![]() |
USN-7088-2 | Linux kernel vulnerabilities |
![]() |
USN-7088-3 | Linux kernel vulnerabilities |
![]() |
USN-7088-4 | Linux kernel vulnerabilities |
![]() |
USN-7088-5 | Linux kernel vulnerabilities |
![]() |
USN-7100-1 | Linux kernel vulnerabilities |
![]() |
USN-7100-2 | Linux kernel vulnerabilities |
![]() |
USN-7119-1 | Linux kernel (IoT) vulnerabilities |
![]() |
USN-7123-1 | Linux kernel (Azure) vulnerabilities |
![]() |
USN-7144-1 | Linux kernel (Intel IoTG) vulnerabilities |
![]() |
USN-7154-1 | Linux kernel vulnerabilities |
![]() |
USN-7155-1 | Linux kernel (NVIDIA) vulnerabilities |
![]() |
USN-7156-1 | Linux kernel (GKE) vulnerabilities |
![]() |
USN-7154-2 | Linux kernel (HWE) vulnerabilities |
![]() |
USN-7194-1 | Linux kernel (Azure) vulnerabilities |
![]() |
USN-7196-1 | Linux kernel (Azure) vulnerabilities |
Solution
No solution given by the vendor.
Workaround
No workaround given by the vendor.
Thu, 09 Oct 2025 18:30:00 +0000
Type | Values Removed | Values Added |
---|---|---|
Weaknesses | NVD-CWE-noinfo | |
CPEs | cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* cpe:2.3:o:linux:linux_kernel:6.11:rc1:*:*:*:*:*:* cpe:2.3:o:linux:linux_kernel:6.11:rc2:*:*:*:*:*:* |
Wed, 16 Jul 2025 13:45:00 +0000
Type | Values Removed | Values Added |
---|---|---|
Metrics |
epss
|
epss
|
Sat, 12 Jul 2025 13:45:00 +0000
Type | Values Removed | Values Added |
---|---|---|
Metrics |
epss
|
epss
|
Wed, 09 Oct 2024 14:45:00 +0000
Type | Values Removed | Values Added |
---|---|---|
Weaknesses | CWE-754 |
Wed, 11 Sep 2024 13:30:00 +0000
Type | Values Removed | Values Added |
---|---|---|
Metrics |
ssvc
|
Wed, 04 Sep 2024 23:30:00 +0000
Type | Values Removed | Values Added |
---|---|---|
References |
| |
Metrics |
threat_severity
|
cvssV3_1
|
Wed, 04 Sep 2024 18:45:00 +0000
Type | Values Removed | Values Added |
---|---|---|
Description | In the Linux kernel, the following vulnerability has been resolved: x86/mtrr: Check if fixed MTRRs exist before saving them MTRRs have an obsolete fixed variant for fine grained caching control of the 640K-1MB region that uses separate MSRs. This fixed variant has a separate capability bit in the MTRR capability MSR. So far all x86 CPUs which support MTRR have this separate bit set, so it went unnoticed that mtrr_save_state() does not check the capability bit before accessing the fixed MTRR MSRs. Though on a CPU that does not support the fixed MTRR capability this results in a #GP. The #GP itself is harmless because the RDMSR fault is handled gracefully, but results in a WARN_ON(). Add the missing capability check to prevent this. | |
Title | x86/mtrr: Check if fixed MTRRs exist before saving them | |
References |
|
|

Status: PUBLISHED
Assigner: Linux
Published:
Updated: 2025-05-04T09:29:36.774Z
Reserved: 2024-08-21T05:34:56.665Z
Link: CVE-2024-44948

Updated: 2024-09-11T12:42:27.703Z

Status : Analyzed
Published: 2024-09-04T19:15:29.950
Modified: 2025-10-09T18:22:51.717
Link: CVE-2024-44948


Updated: 2025-07-12T22:31:33Z