Linux vulnerability

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. 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.

Published 21 Oct 2024Updated 14 Sep 20266 sources
CVSS 5.5

What happened

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. 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.

Affected versions

Linux: 66aad4fdf2bf0af29c7decb4433dc5ec6c7c5451 through before cb2555fb0223edac9e7820f16de17ae04a39ad39 (git); 66aad4fdf2bf0af29c7decb4433dc5ec6c7c5451 through before fe9bab1d6441ed49dc3dd0acce4c2215e8d85447 (git); 66aad4fdf2bf0af29c7decb4433dc5ec6c7c5451 through before d113f9723f2bfd9c6feeb899b8ddbee6b8a6e01f (git); 66aad4fdf2bf0af29c7decb4433dc5ec6c7c5451 through before d80a99892f7a992d103138fa4636b2c33abd6740 (git); 66aad4fdf2bf0af29c7decb4433dc5ec6c7c5451 through before a23823098ab2c277c14fc110b97d8d5c83597195 (git); 66aad4fdf2bf0af29c7decb4433dc5ec6c7c5451 through before cc31744a294584a36bf764a0ffa3255a8e69f036 (git); 4.12 Fixed: See vendor advisory.

Why it matters

Review the vendor advisory and exposure of the affected product to determine operational impact.

Detection & mitigation

  • Apply vendor-provided updates or mitigations.
  • Review affected product exposure and access logs.

Public PoC references

No public PoC reference has passed the current publication threshold.