LiveActive security incident?Get immediate response
CVE Record

CVE-2021-47531: drm/msm: Fix mmap to include VM_IO and VM_DONTDUMP

In the Linux kernel, the following vulnerability has been resolved: drm/msm: Fix mmap to include VM_IO and VM_DONTDUMP In commit 510410bfc034 ("drm/msm: Implement mmap as GEM object function") we switched to a new/cleaner method of doing things. That's good, but we missed a little bit. Before that commit, we used to _first_ run through the drm_gem_mmap_obj() case where `obj->funcs->mmap()` was NULL. That meant that we ran: vma->vm_flags |= VM_IO | VM_PFNMAP | VM_DONTEXPAND | VM_DONTDUMP; vma->vm_page_prot = pgprot_writecombine(vm_get_page_prot(vma->vm_flags)); vma->vm_page_prot = pgprot_decrypted(vma->vm_page_prot); ...and _then_ we modified those mappings with our own. Now that `obj->funcs->mmap()` is no longer NULL we don't run the default code. It looks like the fact that the vm_flags got VM_IO / VM_DONTDUMP was important because we're now getting crashes on Chromebooks that use ARC++ while logging out. Specifically a crash that looks like this (this is on a 5.10 kernel w/ relevant backports but also seen on a 5.15 kernel): Unable to handle kernel paging request at virtual address ffffffc008000000 Mem abort info: ESR = 0x96000006 EC = 0x25: DABT (current EL), IL = 32 bits SET = 0, FnV = 0 EA = 0, S1PTW = 0 Data abort info: ISV = 0, ISS = 0x00000006 CM = 0, WnR = 0 swapper pgtable: 4k pages, 39-bit VAs, pgdp=000000008293d000 [ffffffc008000000] pgd=00000001002b3003, p4d=00000001002b3003, pud=00000001002b3003, pmd=0000000000000000 Internal error: Oops: 96000006 [#1] PREEMPT SMP [...] CPU: 7 PID: 15734 Comm: crash_dump64 Tainted: G W 5.10.67 #1 [...] Hardware name: Qualcomm Technologies, Inc. sc7280 IDP SKU2 platform (DT) pstate: 80400009 (Nzcv daif +PAN -UAO -TCO BTYPE=--) pc : __arch_copy_to_user+0xc0/0x30c lr : copyout+0xac/0x14c [...] Call trace: __arch_copy_to_user+0xc0/0x30c copy_page_to_iter+0x1a0/0x294 process_vm_rw_core+0x240/0x408 process_vm_rw+0x110/0x16c __arm64_sys_process_vm_readv+0x30/0x3c el0_svc_common+0xf8/0x250 do_el0_svc+0x30/0x80 el0_svc+0x10/0x1c el0_sync_handler+0x78/0x108 el0_sync+0x184/0x1c0 Code: f8408423 f80008c3 910020c6 36100082 (b8404423) Let's add the two flags back in. While we're at it, the fact that we aren't running the default means that we _don't_ need to clear out VM_PFNMAP, so remove that and save an instruction. NOTE: it was confirmed that VM_IO was the important flag to fix the problem I was seeing, but adding back VM_DONTDUMP seems like a sane thing to do so I'm doing that too.

UnknownCVSS not scoredNot KEV-listedUpdated
Glexia's TakeAutomated analysisunknown

Security readout for executives and security teams

Plain-English summary

A Linux graphics driver bug can make certain Qualcomm/Chromebook systems crash when memory-mapped GPU objects are handled incorrectly. Public sources describe stability impact, not data theft or remote compromise. Prioritize affected fleets where device availability matters, especially ChromeOS/Android container environments using the msm DRM driver.

Executive priority

Treat as a targeted stability risk rather than a confirmed breach risk. Patch through normal kernel maintenance, accelerating for affected Chromebook or Qualcomm Linux fleets with user-visible crashes or availability obligations.

Technical view

In drm/msm, a GEM mmap change bypassed default drm_gem_mmap_obj flag setup, so VM_IO and VM_DONTDUMP were not set. The fix restores those flags and removes unnecessary VM_PFNMAP clearing. Missing VM_IO was confirmed as relevant to observed kernel oopses on 5.10 backports and 5.15.

Likely exposure

Exposure appears limited to Linux systems using the Qualcomm msm DRM graphics driver, with affected source data naming Linux 5.15 through before 5.15.7 and 5.16 development context. The source specifically cites Chromebook ARC++ logout crashes on Qualcomm SC7280 hardware.

Exploitation context

The bundle provides no evidence of active exploitation, and KEV is false. The described trigger is a kernel crash path during process_vm_readv-related crash dumping, not a documented remote exploit or privilege-escalation technique.

Researcher notes

Evidence is narrow but concrete: the regression followed commit 510410bfc034 and the fix restores VM_IO and VM_DONTDUMP in drm/msm mmap handling. No CWE, CVSS, exploit maturity, or broad product matrix is provided in the bundle.

Mitigation direction

  • Update to a kernel containing the referenced stable drm/msm fixes.
  • Check Linux distribution or device vendor advisories for shipped backports.
  • Prioritize Qualcomm Chromebook or msm DRM fleets showing kernel oopses.
  • Do not deploy custom fixes without vendor kernel validation.

Validation and detection

  • Inventory kernels and devices using the msm DRM driver.
  • Confirm the kernel includes commits 8e2b7fe5e8a4 or 3466d9e217b3.
  • Review crash telemetry for ARC++ logout or matching kernel oops signatures.
  • Verify vendor kernel changelogs mention VM_IO and VM_DONTDUMP restoration.
Prepared
Confidence
medium
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-47531 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
LinuxLinux510410bfc034c57cc3caf1572aa47c1017bab2f9, 510410bfc034c57cc3caf1572aa47c1017bab2f9unaffected
LinuxLinux5.15, 0, 5.15.7, 5.16affected
Weakness

CWE details

No CWE listed

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