cve-2024-44948
Vulnerability from cvelistv5
Published
2024-09-04 18:35
Modified
2024-12-19 09:18
Severity ?
Summary
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.
Impacted products
Vendor Product Version
Linux Linux Version: 2.6.22
Show details on NVD website


{
  "containers": {
    "adp": [
      {
        "metrics": [
          {
            "other": {
              "content": {
                "id": "CVE-2024-44948",
                "options": [
                  {
                    "Exploitation": "none"
                  },
                  {
                    "Automatable": "no"
                  },
                  {
                    "Technical Impact": "partial"
                  }
                ],
                "role": "CISA Coordinator",
                "timestamp": "2024-09-10T17:40:29.464386Z",
                "version": "2.0.3"
              },
              "type": "ssvc"
            }
          }
        ],
        "providerMetadata": {
          "dateUpdated": "2024-09-12T17:33:37.443Z",
          "orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
          "shortName": "CISA-ADP"
        },
        "title": "CISA ADP Vulnrichment"
      }
    ],
    "cna": {
      "affected": [
        {
          "defaultStatus": "unaffected",
          "product": "Linux",
          "programFiles": [
            "arch/x86/kernel/cpu/mtrr/mtrr.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "lessThan": "34f36e6ee5bd7eff8b2adcd9fcaef369f752d82e",
              "status": "affected",
              "version": "2b1f6278d77c1f2f669346fc2bb48012b5e9495a",
              "versionType": "git"
            },
            {
              "lessThan": "06c1de44d378ec5439db17bf476507d68589bfe9",
              "status": "affected",
              "version": "2b1f6278d77c1f2f669346fc2bb48012b5e9495a",
              "versionType": "git"
            },
            {
              "lessThan": "450b6b22acdaac67a18eaf5ed498421ffcf10051",
              "status": "affected",
              "version": "2b1f6278d77c1f2f669346fc2bb48012b5e9495a",
              "versionType": "git"
            },
            {
              "lessThan": "ca7d00c5656d1791e28369919e3e10febe9c3b16",
              "status": "affected",
              "version": "2b1f6278d77c1f2f669346fc2bb48012b5e9495a",
              "versionType": "git"
            },
            {
              "lessThan": "8aa79dfb216b865e96ff890bc4ea71650f9bc8d7",
              "status": "affected",
              "version": "2b1f6278d77c1f2f669346fc2bb48012b5e9495a",
              "versionType": "git"
            },
            {
              "lessThan": "8a90d3fc7c24608548d3a750671f9dac21d1a462",
              "status": "affected",
              "version": "2b1f6278d77c1f2f669346fc2bb48012b5e9495a",
              "versionType": "git"
            },
            {
              "lessThan": "388f1c954019f253a8383f7eb733f38d541e10b6",
              "status": "affected",
              "version": "2b1f6278d77c1f2f669346fc2bb48012b5e9495a",
              "versionType": "git"
            },
            {
              "lessThan": "919f18f961c03d6694aa726c514184f2311a4614",
              "status": "affected",
              "version": "2b1f6278d77c1f2f669346fc2bb48012b5e9495a",
              "versionType": "git"
            }
          ]
        },
        {
          "defaultStatus": "affected",
          "product": "Linux",
          "programFiles": [
            "arch/x86/kernel/cpu/mtrr/mtrr.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "2.6.22"
            },
            {
              "lessThan": "2.6.22",
              "status": "unaffected",
              "version": "0",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "4.19.*",
              "status": "unaffected",
              "version": "4.19.320",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "5.4.*",
              "status": "unaffected",
              "version": "5.4.282",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "5.10.*",
              "status": "unaffected",
              "version": "5.10.224",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "5.15.*",
              "status": "unaffected",
              "version": "5.15.165",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.1.*",
              "status": "unaffected",
              "version": "6.1.105",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.6.*",
              "status": "unaffected",
              "version": "6.6.46",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.10.*",
              "status": "unaffected",
              "version": "6.10.5",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "*",
              "status": "unaffected",
              "version": "6.11",
              "versionType": "original_commit_for_fix"
            }
          ]
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nx86/mtrr: Check if fixed MTRRs exist before saving them\n\nMTRRs have an obsolete fixed variant for fine grained caching control\nof the 640K-1MB region that uses separate MSRs. This fixed variant has\na separate capability bit in the MTRR capability MSR.\n\nSo far all x86 CPUs which support MTRR have this separate bit set, so it\nwent unnoticed that mtrr_save_state() does not check the capability bit\nbefore accessing the fixed MTRR MSRs.\n\nThough on a CPU that does not support the fixed MTRR capability this\nresults in a #GP.  The #GP itself is harmless because the RDMSR fault is\nhandled gracefully, but results in a WARN_ON().\n\nAdd the missing capability check to prevent this."
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2024-12-19T09:18:56.755Z",
        "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "shortName": "Linux"
      },
      "references": [
        {
          "url": "https://git.kernel.org/stable/c/34f36e6ee5bd7eff8b2adcd9fcaef369f752d82e"
        },
        {
          "url": "https://git.kernel.org/stable/c/06c1de44d378ec5439db17bf476507d68589bfe9"
        },
        {
          "url": "https://git.kernel.org/stable/c/450b6b22acdaac67a18eaf5ed498421ffcf10051"
        },
        {
          "url": "https://git.kernel.org/stable/c/ca7d00c5656d1791e28369919e3e10febe9c3b16"
        },
        {
          "url": "https://git.kernel.org/stable/c/8aa79dfb216b865e96ff890bc4ea71650f9bc8d7"
        },
        {
          "url": "https://git.kernel.org/stable/c/8a90d3fc7c24608548d3a750671f9dac21d1a462"
        },
        {
          "url": "https://git.kernel.org/stable/c/388f1c954019f253a8383f7eb733f38d541e10b6"
        },
        {
          "url": "https://git.kernel.org/stable/c/919f18f961c03d6694aa726c514184f2311a4614"
        }
      ],
      "title": "x86/mtrr: Check if fixed MTRRs exist before saving them",
      "x_generator": {
        "engine": "bippy-5f407fcff5a0"
      }
    }
  },
  "cveMetadata": {
    "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
    "assignerShortName": "Linux",
    "cveId": "CVE-2024-44948",
    "datePublished": "2024-09-04T18:35:48.980Z",
    "dateReserved": "2024-08-21T05:34:56.665Z",
    "dateUpdated": "2024-12-19T09:18:56.755Z",
    "state": "PUBLISHED"
  },
  "dataType": "CVE_RECORD",
  "dataVersion": "5.1",
  "vulnerability-lookup:meta": {
    "nvd": "{\"cve\":{\"id\":\"CVE-2024-44948\",\"sourceIdentifier\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"published\":\"2024-09-04T19:15:29.950\",\"lastModified\":\"2024-09-05T12:53:21.110\",\"vulnStatus\":\"Awaiting Analysis\",\"cveTags\":[],\"descriptions\":[{\"lang\":\"en\",\"value\":\"In the Linux kernel, the following vulnerability has been resolved:\\n\\nx86/mtrr: Check if fixed MTRRs exist before saving them\\n\\nMTRRs have an obsolete fixed variant for fine grained caching control\\nof the 640K-1MB region that uses separate MSRs. This fixed variant has\\na separate capability bit in the MTRR capability MSR.\\n\\nSo far all x86 CPUs which support MTRR have this separate bit set, so it\\nwent unnoticed that mtrr_save_state() does not check the capability bit\\nbefore accessing the fixed MTRR MSRs.\\n\\nThough on a CPU that does not support the fixed MTRR capability this\\nresults in a #GP.  The #GP itself is harmless because the RDMSR fault is\\nhandled gracefully, but results in a WARN_ON().\\n\\nAdd the missing capability check to prevent this.\"},{\"lang\":\"es\",\"value\":\"En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: x86/mtrr: comprobar si existen MTRR fijos antes de guardarlos Los MTRR tienen una variante fija obsoleta para el control de almacenamiento en cach\u00e9 de grano fino de la regi\u00f3n de 640K-1MB que utiliza MSR separados. Esta variante fija tiene un bit de capacidad independiente en el MSR de capacidad MTRR. Hasta ahora, todas las CPU x86 que admiten MTRR tienen este bit independiente configurado, por lo que pas\u00f3 desapercibido que mtrr_save_state() no comprueba el bit de capacidad antes de acceder a los MSR MTRR fijos. Aunque en una CPU que no admite la capacidad MTRR fija, esto da como resultado un #GP. El #GP en s\u00ed es inofensivo porque el error RDMSR se maneja con elegancia, pero da como resultado un WARN_ON(). Agregue la comprobaci\u00f3n de capacidad faltante para evitar esto.\"}],\"metrics\":{},\"references\":[{\"url\":\"https://git.kernel.org/stable/c/06c1de44d378ec5439db17bf476507d68589bfe9\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/34f36e6ee5bd7eff8b2adcd9fcaef369f752d82e\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/388f1c954019f253a8383f7eb733f38d541e10b6\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/450b6b22acdaac67a18eaf5ed498421ffcf10051\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/8a90d3fc7c24608548d3a750671f9dac21d1a462\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/8aa79dfb216b865e96ff890bc4ea71650f9bc8d7\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/919f18f961c03d6694aa726c514184f2311a4614\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/ca7d00c5656d1791e28369919e3e10febe9c3b16\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"}]}}"
  }
}


Log in or create an account to share your comment.




Tags
Taxonomy of the tags.


Loading…

Loading…

Loading…

Sightings

Author Source Type Date

Nomenclature

  • Seen: The vulnerability was mentioned, discussed, or seen somewhere by the user.
  • Confirmed: The vulnerability is confirmed from an analyst perspective.
  • Exploited: This vulnerability was exploited and seen by the user reporting the sighting.
  • Patched: This vulnerability was successfully patched by the user reporting the sighting.
  • Not exploited: This vulnerability was not exploited or seen by the user reporting the sighting.
  • Not confirmed: The user expresses doubt about the veracity of the vulnerability.
  • Not patched: This vulnerability was not successfully patched by the user reporting the sighting.