LiveActive security incident?Get immediate response
CVE Record

CVE-2024-46847: mm: vmalloc: ensure vmap_block is initialised before adding to queue

In the Linux kernel, the following vulnerability has been resolved: mm: vmalloc: ensure vmap_block is initialised before adding to queue Commit 8c61291fd850 ("mm: fix incorrect vbq reference in purge_fragmented_block") extended the 'vmap_block' structure to contain a 'cpu' field which is set at allocation time to the id of the initialising CPU. When a new 'vmap_block' is being instantiated by new_vmap_block(), the partially initialised structure is added to the local 'vmap_block_queue' xarray before the 'cpu' field has been initialised. If another CPU is concurrently walking the xarray (e.g. via vm_unmap_aliases()), then it may perform an out-of-bounds access to the remote queue thanks to an uninitialised index. This has been observed as UBSAN errors in Android: | Internal error: UBSAN: array index out of bounds: 00000000f2005512 [#1] PREEMPT SMP | | Call trace: | purge_fragmented_block+0x204/0x21c | _vm_unmap_aliases+0x170/0x378 | vm_unmap_aliases+0x1c/0x28 | change_memory_common+0x1dc/0x26c | set_memory_ro+0x18/0x24 | module_enable_ro+0x98/0x238 | do_init_module+0x1b0/0x310 Move the initialisation of 'vb->cpu' in new_vmap_block() ahead of the addition to the xarray.

UnknownCVSS not scoredNot KEV-listedUpdated
Glexia's TakeAutomated analysismoderate

Security readout for executives and security teams

Plain-English summary

CVE-2024-46847 is a Linux kernel vmalloc race/initialization flaw. A partially initialized memory-management structure could be visible to another CPU, causing an out-of-bounds access. The public record notes Android UBSAN crashes, but does not show confirmed exploitation or a CVSS score.

Executive priority

Treat as a kernel maintenance priority, not an emergency based on current evidence. Patch through normal expedited kernel update channels for affected Linux and Android-derived assets, with higher priority for internet-scale fleets and devices where kernel crashes affect availability.

Technical view

In new_vmap_block(), a vmap_block was added to a per-CPU vmap_block_queue xarray before vb->cpu was initialized. Concurrent traversal, such as vm_unmap_aliases(), could use an uninitialized CPU index and access a remote queue out of bounds. The upstream fix initializes vb->cpu before xarray insertion.

Likely exposure

Exposure is limited to Linux kernels containing the vulnerable vmalloc change. Systems running affected 6.6/6.9/6.10-era kernels or vendor kernels derived from them should be reviewed, especially Android or highly concurrent SMP deployments.

Exploitation context

The bundle reports observed UBSAN array-index errors in Android. It does not cite CISA KEV, public exploitation, exploit code, remote reachability, privilege requirements, or attacker-controlled trigger conditions.

Researcher notes

Evidence supports a concurrency bug in Linux vmalloc queue handling with observed sanitizer failures. The record does not establish exploitability, impact beyond out-of-bounds access/crash, or affected downstream distributions. Validate against exact vendor kernel trees and backports rather than upstream version labels alone.

Mitigation direction

  • Identify kernel versions and vendor backport status across fleets.
  • Apply vendor kernel updates containing the referenced stable fixes.
  • Prioritize Android, appliance, and cloud images with affected kernel branches.
  • Monitor vendor advisories for distro-specific fixed package versions.
  • Avoid deploying custom kernels lacking the vmalloc initialization fix.

Validation and detection

  • Compare running kernels against vendor advisories and fixed stable commits.
  • Review kernel changelogs for the vmap_block cpu initialization fix.
  • Check crash telemetry for UBSAN out-of-bounds reports in purge_fragmented_block.
  • Confirm updated images are deployed across rebooted hosts.
  • Track exceptions where vendor fix status is not yet published.
Prepared
Confidence
medium
Sources
5

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-2024-46847 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
1ADP providers
4Source 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

CISA-ADPCISA ADP Vulnrichment
other:ssvc
Affected products

Products and packages named in the record

VendorProductVersion / packageStatus
LinuxLinux88e0ad40d08a73a74c597e69f4cd2d1fba3838b5, 8c61291fd8500e3b35c7ec0c781b273d8cc96cde, 8c61291fd8500e3b35c7ec0c781b273d8cc96cde, 9983b81579be3403f5cc44b11f66c6c8bea6547f, 6.6.37, 6.9.8unaffected
LinuxLinux6.10, 0, 6.6.51, 6.10.10, 6.11affected
Weakness

CWE details

No CWE listed

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