Skip to main content

Linux Kernel CVE-2026-89805

| EUVDEUVD-2026-80405 HIGH
2026-09-16 Linux GHSA-96j2-9c5r-35jc
7.8
CVSS 3.1 · Vendor: Linux
Share

Severity by source

Vendor (Linux) PRIMARY
7.8 HIGH
AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
vuln.today AI
7.0 HIGH

Local GPU-SVM access (AV:L, PR:L); AC:H because the UAF requires an allocation-failure error path plus a last-reference race; full C/I/A High as a kernel memory-corruption primitive within one system (S:U).

3.1 AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H
4.0 AV:L/AC:H/AT:P/PR:L/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N

Primary rating from Vendor (Linux).

CVSS VectorVendor: Linux

Attack Vector
Local
Attack Complexity
Low
Privileges Required
Low
User Interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
High
Availability
High

Lifecycle Timeline

6
Metadata Corrected
Sep 16, 2026 - 15:40 vuln.today
tag: Information Disclosure removed
Analysis Generated
Sep 16, 2026 - 15:29 vuln.today
CVSS changed
Sep 16, 2026 - 15:22 NVD
7.8 (HIGH)
Patch available
Sep 16, 2026 - 11:03 EUVD
CVE Published
Sep 16, 2026 - 10:30 cve.org
HIGH 7.8
CVE Published
Sep 16, 2026 - 10:30 cve.org
UNKNOWN (no severity yet)

DescriptionCVE.org

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

drm/pagemap: Fix folio allocation fallback and use-after-put

drm_pagemap_migrate_populate_ram_pfn() had two issues when populating RAM PFNs with higher-order folios:

  1. The higher-order vma_alloc_folio()/folio_alloc() calls did not pass

__GFP_NOWARN, so a THP allocation failure under memory pressure would spam the kernel log, and there was no fallback path despite a TODO comment stating one was needed. Add __GFP_NOWARN to the higher-order allocation and, on failure, fall back to order-0 allocations for the entire range originally covered by the failed higher-order allocation, leaving MIGRATE_PFN_COMPOUND unset for those PFNs.

  1. In the free_pages error path, order was computed via

folio_order(page_folio(page)) *after* put_page(page) had already dropped the reference, resulting in a use-after-free/put when that was the last reference on the page. Compute order before releasing the page.

Introducing the fallback in 1. also requires the source page array handed to ->copy_to_ram() to be built differently. Both callers only populated the entry at the head of each source folio, relying on the copy callback to derive the rest of the folio from the order recorded in the matching drm_pagemap_addr. Once the destination has been demoted to order-0 folios the drm_pagemap_addr entries are per-page, so a source page is needed for every one of them; leaving them NULL makes the copy callback stop after the first page and the remainder of the range is never copied.

The source folio is only split later, by migrate_vma_pages() / migrate_device_pages(), so its order cannot be used to detect the demotion - test the destination for MIGRATE_PFN_COMPOUND instead. Factor the array population out into drm_pagemap_migrate_populate_src_pages() and use it from both drm_pagemap_evict_to_ram() and __drm_pagemap_migrate_to_ram().

AnalysisAI

A use-after-put in the Linux kernel's DRM pagemap device-memory migration code (drm_pagemap_migrate_populate_ram_pfn) lets a local, low-privileged user who can drive the GPU/device-private-memory migration path corrupt kernel memory and potentially escalate privileges. The defect has two parts: higher-order (THP) folio allocations lack __GFP_NOWARN and any order-0 fallback, and the free_pages error path computes folio_order(page_folio(page)) after put_page(page) has already dropped the reference, so corrupting state occurs when that put released the last reference. …

Unlock full vulnerability intelligence

  • Risk assessment & exploitation conditions
  • Attack chain visualization
  • Remediation with exact patch versions
  • Threat intelligence from 22 sources
  • Personal watchlist & email alerts

Free forever · No credit card required

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata

Access
technique details hidden
Delivery
technique details hidden
Exploit
technique details hidden
Execution
technique details hidden
Persist
technique details hidden
Impact
technique details hidden

Vulnerability AssessmentAI

Exploitation Requires local access and that the system actually uses the DRM pagemap device-memory migration path (drm_pagemap_migrate_populate_ram_pfn), i.e. … Additional conditions and limiting factors are described in the full assessment.
Risk Assessment CVSS 3.1 vector AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H (7.8) reflects the standard Linux-kernel local privilege-escalation template. … Full risk analysis with EPSS, KEV, and SSVC signal comparison available after sign-in.
Exploit Scenario Full exploit scenario with step-by-step reproduction available after sign-in.
Remediation Vendor-released patch: Linux 7.2.5 (also fixed in 7.3-rc2), delivered through the stable commits https://git.kernel.org/stable/c/df72e55e754c8d449321ddddad19a8bd3cb8d032 and https://git.kernel.org/stable/c/10e92e18e3dab081789d868878f2ecce6166948a; upgrade to a kernel that contains these commits (or the corresponding distribution backport) and confirm the DRM pagemap fix is present via the vendor advisory at https://nvd.nist.gov/vuln/detail/CVE-2026-89805. … Detailed patch versions, workarounds, and compensating controls in full report.

Recommended ActionAI

Within 24 hours, identify all systems running Linux kernel 6.18 with the DRM pagemap subsystem built and enabled on supported hardware, and confirm whether the vendor advisory provides a patch version. …

Sign in for detailed remediation steps and compensating controls.

Threat intelligence, references, and detailed analysis are available after sign-in.

Share

CVE-2026-89805 vulnerability details – vuln.today

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy