← All Advisories
Reported from OT-Advisories.com as of

CVE-2026-89805

Last refreshed2026-10-19

Status: UPDATED  |  Advisory ID: CVE-2026-89805

Key Details

CVECVE-2026-89805
CVSS Score / Version
7.8 (High) / CVSS v3.1
Updated2026-10-19
CVSS Vector
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
CVSS Prose
attack vector is local; attack complexity is low; privileges required is low; user interaction is none; scope is unchanged; confidentiality impact is high; integrity impact is high; availability impact is high.
Affected products
Linux Kernel

Affected Products, Subsystems & Sectors

VendorProductAffected VersionsPatch Status
LinuxLinux Kernel
SubsystemsOT Supporting Infrastructure
SectorsAll Sectors

What to Know

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.

2. 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(). (NVD)

What to Do

Monitor Linux's web page for any future patch releases.

References

SourceReference
NVDhttps://nvd.nist.gov/vuln/detail/CVE-2026-89805
CVEhttps://www.cve.org/CVERecord?id=CVE-2026-89805
Report compilation © 2026 OT-Advisories.com  ·  CC BY 4.0  ·  Source materials remain the property of their respective publishers as cited.