LiveActive security incident?Get immediate response
CVE Record

CVE-2021-46910: ARM: 9063/1: mm: reduce maximum number of CPUs if DEBUG_KMAP_LOCAL is enabled

In the Linux kernel, the following vulnerability has been resolved: ARM: 9063/1: mm: reduce maximum number of CPUs if DEBUG_KMAP_LOCAL is enabled The debugging code for kmap_local() doubles the number of per-CPU fixmap slots allocated for kmap_local(), in order to use half of them as guard regions. This causes the fixmap region to grow downwards beyond the start of its reserved window if the supported number of CPUs is large, and collide with the newly added virtual DT mapping right below it, which is obviously not good. One manifestation of this is EFI boot on a kernel built with NR_CPUS=32 and CONFIG_DEBUG_KMAP_LOCAL=y, which may pass the FDT in highmem, resulting in block entries below the fixmap region that the fixmap code misidentifies as fixmap table entries, and subsequently tries to dereference using a phys-to-virt translation that is only valid for lowmem. This results in a cryptic splat such as the one below. ftrace: allocating 45548 entries in 89 pages 8<--- cut here --- Unable to handle kernel paging request at virtual address fc6006f0 pgd = (ptrval) [fc6006f0] *pgd=80000040207003, *pmd=00000000 Internal error: Oops: a06 [#1] SMP ARM Modules linked in: CPU: 0 PID: 0 Comm: swapper Not tainted 5.11.0+ #382 Hardware name: Generic DT based system PC is at cpu_ca15_set_pte_ext+0x24/0x30 LR is at __set_fixmap+0xe4/0x118 pc : [<c041ac9c>] lr : [<c04189d8>] psr: 400000d3 sp : c1601ed8 ip : 00400000 fp : 00800000 r10: 0000071f r9 : 00421000 r8 : 00c00000 r7 : 00c00000 r6 : 0000071f r5 : ffade000 r4 : 4040171f r3 : 00c00000 r2 : 4040171f r1 : c041ac78 r0 : fc6006f0 Flags: nZcv IRQs off FIQs off Mode SVC_32 ISA ARM Segment none Control: 30c5387d Table: 40203000 DAC: 00000001 Process swapper (pid: 0, stack limit = 0x(ptrval)) So let's limit CONFIG_NR_CPUS to 16 when CONFIG_DEBUG_KMAP_LOCAL=y. Also, fix the BUILD_BUG_ON() check that was supposed to catch this, by checking whether the region grows below the start address rather than above the end address.

UnknownCVSS not scoredNot KEV-listedUpdated
Glexia's TakeAutomated analysislow

Security readout for executives and security teams

Plain-English summary

This is a Linux kernel ARM configuration bug. With a debug mapping option enabled and a high CPU limit, boot-time memory mappings can overlap and crash the kernel. The sources describe an availability failure during EFI boot, not data theft or remote compromise.

Executive priority

Treat as a targeted availability risk for ARM systems using uncommon debug kernel builds. Prioritize embedded, appliance, or lab-to-production images where custom kernel configs may have shipped unnoticed.

Technical view

CONFIG_DEBUG_KMAP_LOCAL doubles per-CPU fixmap slots for guard regions. On ARM with large CONFIG_NR_CPUS, the fixmap area can grow below its reserved window and collide with the virtual device tree mapping. The kernel fix limits NR_CPUS to 16 when DEBUG_KMAP_LOCAL is enabled and corrects the build-time bounds check.

Likely exposure

Exposure appears limited to ARM Linux kernels built with CONFIG_DEBUG_KMAP_LOCAL=y and high CONFIG_NR_CPUS, especially around the listed 5.11 and 5.12-era versions. Production exposure is likely uncommon because the triggering option is a debug configuration.

Exploitation context

No source in the bundle reports active exploitation, and KEV is false. The described failure is a kernel paging fault during boot under specific ARM, EFI, highmem FDT, debug, and CPU-count conditions.

Researcher notes

The available evidence supports a configuration-dependent ARM fixmap overlap causing boot-time Oops. The source bundle does not provide CVSS, CWE, exploitability analysis, or affected distribution package names, so product mapping requires vendor-specific kernel provenance.

Mitigation direction

  • Review vendor kernel advisories for the affected ARM build stream.
  • Apply a kernel containing the referenced stable fixes.
  • Avoid CONFIG_DEBUG_KMAP_LOCAL=y on high-CPU ARM production builds unless fixed.
  • Keep CONFIG_NR_CPUS at or below 16 when using the debug option on unfixed kernels.

Validation and detection

  • Check kernel version against the CVE-listed 5.11 and 5.12-era affected versions.
  • Inspect ARM kernel config for CONFIG_DEBUG_KMAP_LOCAL=y.
  • Inspect ARM kernel config for CONFIG_NR_CPUS greater than 16.
  • Confirm whether the stable fix commits are present in the deployed kernel tree.
Prepared
Confidence
high
Sources
4

Generated from the cited source records. This long-tail analysis has not been individually reviewed by a named human.

Potential ATT&CK relevance

Conservative CVE-to-ATT&CK context

These mappings and lookup hints may be relevant to the vulnerability behavior, CWE, affected product, or exposure path. Glexia-inferred context is not an official MITRE, ATT&CK, CWE, or CVE Program mapping.

ATT&CK lookup starting points

Use these exact CWE pages and searches to review the Glexia ATT&CK library from this CVE's weakness and description context.

cve · low confidence lookup

CVE-2021-46910 mapping review

Open the CVE-to-ATT&CK bridge for reviewed, inferred, or future official mappings tied to this CVE.

Open ATT&CK lookup
Vulnerability profileCVE Program record
Severity
Unknown
CVSS
Not scored
Known Exploited
No
Published
Official CVE source material

CNA and ADP enrichment extracted from CVE v5

These fields come from the CVE record and ADP containers, not from Glexia's Take. They preserve time-varying source decisions such as CISA SSVC, KEV status, CVSS metrics, and provider references.

0CVSS vectors
3Timeline events
2ADP providers
3Source links

SSVC decision data

CISA-ADPCISA Coordinator
Timestamp
Version
2.0.3
Exploitation: noneAutomatable: noTechnical Impact: partial

Vulnerability timeline

Timeline events are normalized from CVE metadata, CNA source timelines, ADP timelines, and KEV metadata when present.

  1. CVE reservedCVE Program

    The CVE ID was reserved by the assigning CNA.

  2. CVE publishedCVE Program

    The CVE record was published.

  3. CVE updatedCVE Program

    The CVE record metadata indicates this as the latest update time.

ADP provider summaries

CVECVE Program Container
CISA-ADPCISA ADP Vulnrichment
other:ssvc
Affected products

Products and packages named in the record

VendorProductVersion / packageStatus
LinuxLinux2a15ba82fa6ca3f35502b3060f22118a938d2889, 2a15ba82fa6ca3f35502b3060f22118a938d2889unaffected
LinuxLinux5.11, 0, 5.11.16, 5.12affected
Weakness

CWE details

No CWE listed

CWE links open Glexia weakness intelligence pages with official CWE context, developer remediation guidance, and related CVE mappings.