CVE-2026-89953
mtd: mtdoops: free page bitmap when the backing MTD is removed
Description
In the Linux kernel, the following vulnerability has been resolved: mtd: mtdoops: free page bitmap when the backing MTD is removed mtdoops_notify_add() allocates oops_page_used when the configured MTD device is registered. mtdoops_notify_remove() detaches from that device but leaves the bitmap allocated. If the same MTD device is later registered again, the add path allocates a new bitmap and overwrites the old pointer, leaking one vmalloc allocation per remove/add cycle. This is only visible when the backing MTD device can disappear and be registered again while mtdoops remains loaded, so the usual static MTD case does not expose it. Free the bitmap after unregistering the dumper and flushing the pending workers, then clear the pointer and page count before a later attach can allocate fresh state. Clearing the pointer also keeps the module exit path from freeing the same bitmap a second time after a remove event.
INFO
Published Date :
Sept. 16, 2026, 11:17 a.m.
Last Modified :
Sept. 16, 2026, 11:17 a.m.
Remotely Exploit :
No
Source :
416baaa9-dc9f-4396-8d5f-8c081fb06d67
Solution
- Free the bitmap after unregistering the dumper.
- Flush pending workers.
- Clear the pointer and page count.
- Update the Linux kernel to the latest version.
References to Advisories, Solutions, and Tools
Here, you will find a curated list of external links that provide in-depth
information, practical solutions, and valuable tools related to
CVE-2026-89953.
CWE - Common Weakness Enumeration
While CVE identifies
specific instances of vulnerabilities, CWE categorizes the common flaws or
weaknesses that can lead to vulnerabilities. CVE-2026-89953 is
associated with the following CWEs:
Common Attack Pattern Enumeration and Classification (CAPEC)
Common Attack Pattern Enumeration and Classification
(CAPEC)
stores attack patterns, which are descriptions of the common attributes and
approaches employed by adversaries to exploit the CVE-2026-89953
weaknesses.
We scan GitHub repositories to detect new proof-of-concept exploits. Following list is a collection of public exploits and proof-of-concepts, which have been published on GitHub (sorted by the most recently updated).
Results are limited to the first 15 repositories due to potential performance issues.
The following list is the news that have been mention
CVE-2026-89953 vulnerability anywhere in the article.
The following table lists the changes that have been made to the
CVE-2026-89953 vulnerability over time.
Vulnerability history details can be useful for understanding the evolution of a vulnerability, and for identifying the most recent changes that may impact the vulnerability's severity, exploitability, or other characteristics.
-
New CVE Received by 416baaa9-dc9f-4396-8d5f-8c081fb06d67
Sep. 16, 2026
Action Type Old Value New Value Added Description In the Linux kernel, the following vulnerability has been resolved: mtd: mtdoops: free page bitmap when the backing MTD is removed mtdoops_notify_add() allocates oops_page_used when the configured MTD device is registered. mtdoops_notify_remove() detaches from that device but leaves the bitmap allocated. If the same MTD device is later registered again, the add path allocates a new bitmap and overwrites the old pointer, leaking one vmalloc allocation per remove/add cycle. This is only visible when the backing MTD device can disappear and be registered again while mtdoops remains loaded, so the usual static MTD case does not expose it. Free the bitmap after unregistering the dumper and flushing the pending workers, then clear the pointer and page count before a later attach can allocate fresh state. Clearing the pointer also keeps the module exit path from freeing the same bitmap a second time after a remove event. Added Affected New affected value received. <a href="https://github.com/CVEProject/cvelistV5/blob/main/cves/2026/89xxx/CVE-2026-89953.json">CVE-2026-89953</a> Added Reference https://git.kernel.org/stable/c/1e5cd8bc902331ff801df88cbb299029ae062753 Added Reference https://git.kernel.org/stable/c/477d61d54e097e90f748aa18d013805abd56bcbd Added Reference https://git.kernel.org/stable/c/698944132083d143ef965c0090ee14ba1d9e1a5f Added Reference https://git.kernel.org/stable/c/8414f0e9f707226de20b48c7048179fd86d352fc Added Reference https://git.kernel.org/stable/c/956e7da12c114f13c63d126ab1d79c3b6a819060 Added Reference https://git.kernel.org/stable/c/a91ac71e67c3e01ed9afd9841435bebb930293f8 Added Reference https://git.kernel.org/stable/c/d06f91a52af11630c9f7e487f6daf242ac310cb8 Added Reference https://git.kernel.org/stable/c/f25c804947e0a28c15e73da8e2e0db959cbed716