« Volver al listado

CVE-2024-50017

Estado: ModificadaMedia (5.5)—

In the Linux kernel, the following vulnerability has been resolved:

x86/mm/ident_map: Use gbpages only where full GB page should be mapped.

When ident_pud_init() uses only GB pages to create identity maps, large ranges of addresses not actually requested can be included in the resulting table; a 4K request will map a full GB. This can include a lot of extra address space past that requested, including areas marked reserved by the BIOS. That allows processor speculation into reserved regions, that on UV systems can cause system halts.

Only use GB pages when map creation requests include the full GB page of space. Fall back to using smaller 2M pages when only portions of a GB page are included in the request.

Leer descripción completaMostrar menos

No attempt is made to coalesce mapping requests. If a request requires a map entry at the 2M (pmd) level, subsequent mapping requests within the same 1G region will also be at the pmd level, even if adjacent or overlapping such requests could have been combined to map a full GB page. Existing usage starts with larger regions and then adds smaller regions, so this should not have any great consequence.

CVSS

Probabilidad de explotación (EPSS)

EPSS (Exploit Prediction Scoring System, de FIRST) estima la probabilidad de que una vulnerabilidad sea explotada en 30 días. Complementa a CVSS (impacto) y a CISA KEV (explotación confirmada).

Tecnologías afectadas (1)

CWE

Referencias

JSON original (NVD)

Mostrar
{
  "id": "CVE-2024-50017",
  "cveTags": [],
  "metrics": {
    "ssvcV203": [
      {
        "source": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
        "ssvcData": {
          "id": "CVE-2024-50017",
          "role": "CISA Coordinator",
          "options": [
            {
              "exploitation": "none"
            },
            {
              "automatable": "no"
            },
            {
              "technicalImpact": "partial"
            }
          ],
          "version": "2.0.3",
          "timestamp": "2024-10-22T13:27:53.496416Z"
        }
      }
    ],
    "cvssMetricV31": [
      {
        "type": "Primary",
        "source": "nvd@nist.gov",
        "cvssData": {
          "scope": "UNCHANGED",
          "version": "3.1",
          "baseScore": 5.5,
          "attackVector": "LOCAL",
          "baseSeverity": "MEDIUM",
          "vectorString": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H",
          "integrityImpact": "NONE",
          "userInteraction": "NONE",
          "attackComplexity": "LOW",
          "availabilityImpact": "HIGH",
          "privilegesRequired": "LOW",
          "confidentialityImpact": "NONE"
        },
        "impactScore": 3.6,
        "exploitabilityScore": 1.8
      }
    ]
  },
  "affected": [
    {
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
      "affectedData": [
        {
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "product": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "66aad4fdf2bf0af29c7decb4433dc5ec6c7c5451",
              "lessThan": "cb2555fb0223edac9e7820f16de17ae04a39ad39",
              "versionType": "git"
            },
            {
              "status": "affected",
              "version": "66aad4fdf2bf0af29c7decb4433dc5ec6c7c5451",
              "lessThan": "fe9bab1d6441ed49dc3dd0acce4c2215e8d85447",
              "versionType": "git"
            },
            {
              "status": "affected",
              "version": "66aad4fdf2bf0af29c7decb4433dc5ec6c7c5451",
              "lessThan": "d113f9723f2bfd9c6feeb899b8ddbee6b8a6e01f",
              "versionType": "git"
            },
            {
              "status": "affected",
              "version": "66aad4fdf2bf0af29c7decb4433dc5ec6c7c5451",
              "lessThan": "d80a99892f7a992d103138fa4636b2c33abd6740",
              "versionType": "git"
            },
            {
              "status": "affected",
              "version": "66aad4fdf2bf0af29c7decb4433dc5ec6c7c5451",
              "lessThan": "a23823098ab2c277c14fc110b97d8d5c83597195",
              "versionType": "git"
            },
            {
              "status": "affected",
              "version": "66aad4fdf2bf0af29c7decb4433dc5ec6c7c5451",
              "lessThan": "cc31744a294584a36bf764a0ffa3255a8e69f036",
              "versionType": "git"
            }
          ],
          "programFiles": [
            "arch/x86/mm/ident_map.c"
          ],
          "defaultStatus": "unaffected"
        },
        {
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "product": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "4.12"
            },
            {
              "status": "unaffected",
              "version": "0",
              "lessThan": "4.12",
              "versionType": "semver"
            },
            {
              "status": "unaffected",
              "version": "5.15.221",
              "versionType": "semver",
              "lessThanOrEqual": "5.15.*"
            },
            {
              "status": "unaffected",
              "version": "6.1.188",
              "versionType": "semver",
              "lessThanOrEqual": "6.1.*"
            },
            {
              "status": "unaffected",
              "version": "6.6.78",
              "versionType": "semver",
              "lessThanOrEqual": "6.6.*"
            },
            {
              "status": "unaffected",
              "version": "6.10.14",
              "versionType": "semver",
              "lessThanOrEqual": "6.10.*"
            },
            {
              "status": "unaffected",
              "version": "6.11.3",
              "versionType": "semver",
              "lessThanOrEqual": "6.11.*"
            },
            {
              "status": "unaffected",
              "version": "6.12",
              "versionType": "original_commit_for_fix",
              "lessThanOrEqual": "*"
            }
          ],
          "programFiles": [
            "arch/x86/mm/ident_map.c"
          ],
          "defaultStatus": "affected"
        }
      ]
    }
  ],
  "published": "2024-10-21T19:15:05.043",
  "references": [
    {
      "url": "https://git.kernel.org/stable/c/a23823098ab2c277c14fc110b97d8d5c83597195",
      "tags": [
        "Patch"
      ],
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    },
    {
      "url": "https://git.kernel.org/stable/c/cb2555fb0223edac9e7820f16de17ae04a39ad39",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    },
    {
      "url": "https://git.kernel.org/stable/c/cc31744a294584a36bf764a0ffa3255a8e69f036",
      "tags": [
        "Patch"
      ],
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    },
    {
      "url": "https://git.kernel.org/stable/c/d113f9723f2bfd9c6feeb899b8ddbee6b8a6e01f",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    },
    {
      "url": "https://git.kernel.org/stable/c/d80a99892f7a992d103138fa4636b2c33abd6740",
      "tags": [
        "Patch"
      ],
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    },
    {
      "url": "https://git.kernel.org/stable/c/fe9bab1d6441ed49dc3dd0acce4c2215e8d85447",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    }
  ],
  "vulnStatus": "Modified",
  "weaknesses": [
    {
      "type": "Primary",
      "source": "nvd@nist.gov",
      "description": [
        {
          "lang": "en",
          "value": "NVD-CWE-noinfo"
        }
      ]
    }
  ],
  "descriptions": [
    {
      "lang": "en",
      "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nx86/mm/ident_map: Use gbpages only where full GB page should be mapped.\n\nWhen ident_pud_init() uses only GB pages to create identity maps, large\nranges of addresses not actually requested can be included in the resulting\ntable; a 4K request will map a full GB.  This can include a lot of extra\naddress space past that requested, including areas marked reserved by the\nBIOS.  That allows processor speculation into reserved regions, that on UV\nsystems can cause system halts.\n\nOnly use GB pages when map creation requests include the full GB page of\nspace.  Fall back to using smaller 2M pages when only portions of a GB page\nare included in the request.\n\nNo attempt is made to coalesce mapping requests. If a request requires a\nmap entry at the 2M (pmd) level, subsequent mapping requests within the\nsame 1G region will also be at the pmd level, even if adjacent or\noverlapping such requests could have been combined to map a full GB page.\nExisting usage starts with larger regions and then adds smaller regions, so\nthis should not have any great consequence."
    },
    {
      "lang": "es",
      "value": "En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: x86/mm/ident_map: Utilizar gbpages solo cuando se deba mapear una página GB completa. Cuando ident_pud_init() utiliza solo páginas GB para crear mapas de identidad, se pueden incluir en la tabla resultante grandes rangos de direcciones que no se solicitaron realmente; una solicitud de 4K mapeará un GB completo. Esto puede incluir una gran cantidad de espacio de direcciones adicional más allá del solicitado, incluidas las áreas marcadas como reservadas por el BIOS. Eso permite la especulación del procesador en regiones reservadas, que en sistemas UV puede causar paradas del sistema. Utilice solo páginas GB cuando las solicitudes de creación de mapas incluyan la página GB completa de espacio. Vuelva a utilizar páginas más pequeñas de 2M cuando solo se incluyan partes de una página GB en la solicitud. No se intenta fusionar las solicitudes de mapeo. Si una solicitud requiere una entrada de mapa en el nivel 2M (pmd), las solicitudes de mapeo posteriores dentro de la misma región 1G también estarán en el nivel pmd, incluso si dichas solicitudes adyacentes o superpuestas podrían haberse combinado para mapear una página GB completa. El uso actual comienza con regiones más grandes y luego agrega regiones más pequeñas, por lo que esto no debería tener grandes consecuencias."
    }
  ],
  "lastModified": "2026-09-14T12:17:33.497",
  "configurations": [
    {
      "nodes": [
        {
          "negate": false,
          "cpeMatch": [
            {
              "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
              "vulnerable": true,
              "matchCriteriaId": "652638C5-5F25-4DF3-AD42-DD3252A97152",
              "versionEndExcluding": "6.10.14"
            },
            {
              "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
              "vulnerable": true,
              "matchCriteriaId": "54D9C704-D679-41A7-9C40-10A6B1E7FFE9",
              "versionEndExcluding": "6.11.3",
              "versionStartIncluding": "6.11"
            }
          ],
          "operator": "OR"
        }
      ]
    }
  ],
  "sourceIdentifier": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
}