{"api_version":"1","generated_at":"2026-10-10T07:34:06+00:00","cve":"CVE-2026-89953","urls":{"html":"https://cve.report/CVE-2026-89953","api":"https://cve.report/api/cve/CVE-2026-89953.json","docs":"https://cve.report/api","cve_org":"https://www.cve.org/CVERecord?id=CVE-2026-89953","nvd":"https://nvd.nist.gov/vuln/detail/CVE-2026-89953"},"summary":{"title":"mtd: mtdoops: free page bitmap when the backing MTD is removed","description":"In the Linux kernel, the following vulnerability has been resolved:\n\nmtd: mtdoops: free page bitmap when the backing MTD is removed\n\nmtdoops_notify_add() allocates oops_page_used when the configured MTD\ndevice is registered.  mtdoops_notify_remove() detaches from that device\nbut leaves the bitmap allocated.  If the same MTD device is later\nregistered again, the add path allocates a new bitmap and overwrites the\nold pointer, leaking one vmalloc allocation per remove/add cycle.\n\nThis is only visible when the backing MTD device can disappear and be\nregistered again while mtdoops remains loaded, so the usual static MTD\ncase does not expose it.\n\nFree the bitmap after unregistering the dumper and flushing the pending\nworkers, then clear the pointer and page count before a later attach can\nallocate fresh state.  Clearing the pointer also keeps the module exit\npath from freeing the same bitmap a second time after a remove event.","state":"PUBLISHED","assigner":"Linux","published_at":"2026-09-16 11:17:05","updated_at":"2026-09-16 11:17:05"},"problem_types":[],"metrics":[],"references":[{"url":"https://git.kernel.org/stable/c/a91ac71e67c3e01ed9afd9841435bebb930293f8","name":"https://git.kernel.org/stable/c/a91ac71e67c3e01ed9afd9841435bebb930293f8","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://git.kernel.org/stable/c/8414f0e9f707226de20b48c7048179fd86d352fc","name":"https://git.kernel.org/stable/c/8414f0e9f707226de20b48c7048179fd86d352fc","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://git.kernel.org/stable/c/1e5cd8bc902331ff801df88cbb299029ae062753","name":"https://git.kernel.org/stable/c/1e5cd8bc902331ff801df88cbb299029ae062753","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://git.kernel.org/stable/c/956e7da12c114f13c63d126ab1d79c3b6a819060","name":"https://git.kernel.org/stable/c/956e7da12c114f13c63d126ab1d79c3b6a819060","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://git.kernel.org/stable/c/698944132083d143ef965c0090ee14ba1d9e1a5f","name":"https://git.kernel.org/stable/c/698944132083d143ef965c0090ee14ba1d9e1a5f","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://git.kernel.org/stable/c/f25c804947e0a28c15e73da8e2e0db959cbed716","name":"https://git.kernel.org/stable/c/f25c804947e0a28c15e73da8e2e0db959cbed716","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://git.kernel.org/stable/c/477d61d54e097e90f748aa18d013805abd56bcbd","name":"https://git.kernel.org/stable/c/477d61d54e097e90f748aa18d013805abd56bcbd","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://git.kernel.org/stable/c/d06f91a52af11630c9f7e487f6daf242ac310cb8","name":"https://git.kernel.org/stable/c/d06f91a52af11630c9f7e487f6daf242ac310cb8","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://www.cve.org/CVERecord?id=CVE-2026-89953","name":"CVE Program record","refsource":"CVE.ORG","tags":["canonical"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-89953","name":"NVD vulnerability detail","refsource":"NVD","tags":["canonical","analysis"]}],"affected":[{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected be95745f01677245a061a8f51473ef5ec8ad008e 477d61d54e097e90f748aa18d013805abd56bcbd git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected be95745f01677245a061a8f51473ef5ec8ad008e a91ac71e67c3e01ed9afd9841435bebb930293f8 git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected be95745f01677245a061a8f51473ef5ec8ad008e 698944132083d143ef965c0090ee14ba1d9e1a5f git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected be95745f01677245a061a8f51473ef5ec8ad008e f25c804947e0a28c15e73da8e2e0db959cbed716 git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected be95745f01677245a061a8f51473ef5ec8ad008e 8414f0e9f707226de20b48c7048179fd86d352fc git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected be95745f01677245a061a8f51473ef5ec8ad008e d06f91a52af11630c9f7e487f6daf242ac310cb8 git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected be95745f01677245a061a8f51473ef5ec8ad008e 1e5cd8bc902331ff801df88cbb299029ae062753 git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected be95745f01677245a061a8f51473ef5ec8ad008e 956e7da12c114f13c63d126ab1d79c3b6a819060 git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 2.6.33","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 2.6.33 semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 5.10.270 5.10.* semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 5.15.221 5.15.* semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 6.1.188 6.1.* semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 6.6.157 6.6.* semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 6.12.110 6.12.* semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 6.18.51 6.18.* semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 7.2.5 7.2.* semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 7.3-rc1 * original_commit_for_fix","platforms":[]}],"timeline":[],"solutions":[],"workarounds":[],"exploits":[],"credits":[],"nvd_cpes":[],"vendor_comments":[],"enrichments":{"kev":null,"epss":null,"legacy_qids":[]},"source_records":{"cve_program":{"containers":{"cna":{"affected":[{"defaultStatus":"unaffected","product":"Linux","programFiles":["drivers/mtd/mtdoops.c"],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","vendor":"Linux","versions":[{"lessThan":"477d61d54e097e90f748aa18d013805abd56bcbd","status":"affected","version":"be95745f01677245a061a8f51473ef5ec8ad008e","versionType":"git"},{"lessThan":"a91ac71e67c3e01ed9afd9841435bebb930293f8","status":"affected","version":"be95745f01677245a061a8f51473ef5ec8ad008e","versionType":"git"},{"lessThan":"698944132083d143ef965c0090ee14ba1d9e1a5f","status":"affected","version":"be95745f01677245a061a8f51473ef5ec8ad008e","versionType":"git"},{"lessThan":"f25c804947e0a28c15e73da8e2e0db959cbed716","status":"affected","version":"be95745f01677245a061a8f51473ef5ec8ad008e","versionType":"git"},{"lessThan":"8414f0e9f707226de20b48c7048179fd86d352fc","status":"affected","version":"be95745f01677245a061a8f51473ef5ec8ad008e","versionType":"git"},{"lessThan":"d06f91a52af11630c9f7e487f6daf242ac310cb8","status":"affected","version":"be95745f01677245a061a8f51473ef5ec8ad008e","versionType":"git"},{"lessThan":"1e5cd8bc902331ff801df88cbb299029ae062753","status":"affected","version":"be95745f01677245a061a8f51473ef5ec8ad008e","versionType":"git"},{"lessThan":"956e7da12c114f13c63d126ab1d79c3b6a819060","status":"affected","version":"be95745f01677245a061a8f51473ef5ec8ad008e","versionType":"git"}]},{"defaultStatus":"affected","product":"Linux","programFiles":["drivers/mtd/mtdoops.c"],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","vendor":"Linux","versions":[{"status":"affected","version":"2.6.33"},{"lessThan":"2.6.33","status":"unaffected","version":"0","versionType":"semver"},{"lessThanOrEqual":"5.10.*","status":"unaffected","version":"5.10.270","versionType":"semver"},{"lessThanOrEqual":"5.15.*","status":"unaffected","version":"5.15.221","versionType":"semver"},{"lessThanOrEqual":"6.1.*","status":"unaffected","version":"6.1.188","versionType":"semver"},{"lessThanOrEqual":"6.6.*","status":"unaffected","version":"6.6.157","versionType":"semver"},{"lessThanOrEqual":"6.12.*","status":"unaffected","version":"6.12.110","versionType":"semver"},{"lessThanOrEqual":"6.18.*","status":"unaffected","version":"6.18.51","versionType":"semver"},{"lessThanOrEqual":"7.2.*","status":"unaffected","version":"7.2.5","versionType":"semver"},{"lessThanOrEqual":"*","status":"unaffected","version":"7.3-rc1","versionType":"original_commit_for_fix"}]}],"cpeApplicability":[{"nodes":[{"cpeMatch":[{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"5.10.270","versionStartIncluding":"2.6.33","vulnerable":true},{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"5.15.221","versionStartIncluding":"2.6.33","vulnerable":true},{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"6.1.188","versionStartIncluding":"2.6.33","vulnerable":true},{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"6.6.157","versionStartIncluding":"2.6.33","vulnerable":true},{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"6.12.110","versionStartIncluding":"2.6.33","vulnerable":true},{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"6.18.51","versionStartIncluding":"2.6.33","vulnerable":true},{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"7.2.5","versionStartIncluding":"2.6.33","vulnerable":true},{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"7.3-rc1","versionStartIncluding":"2.6.33","vulnerable":true}],"negate":false,"operator":"OR"}]}],"descriptions":[{"lang":"en","value":"In the Linux kernel, the following vulnerability has been resolved:\n\nmtd: mtdoops: free page bitmap when the backing MTD is removed\n\nmtdoops_notify_add() allocates oops_page_used when the configured MTD\ndevice is registered.  mtdoops_notify_remove() detaches from that device\nbut leaves the bitmap allocated.  If the same MTD device is later\nregistered again, the add path allocates a new bitmap and overwrites the\nold pointer, leaking one vmalloc allocation per remove/add cycle.\n\nThis is only visible when the backing MTD device can disappear and be\nregistered again while mtdoops remains loaded, so the usual static MTD\ncase does not expose it.\n\nFree the bitmap after unregistering the dumper and flushing the pending\nworkers, then clear the pointer and page count before a later attach can\nallocate fresh state.  Clearing the pointer also keeps the module exit\npath from freeing the same bitmap a second time after a remove event."}],"providerMetadata":{"dateUpdated":"2026-09-16T10:32:37.676Z","orgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","shortName":"Linux"},"references":[{"url":"https://git.kernel.org/stable/c/477d61d54e097e90f748aa18d013805abd56bcbd"},{"url":"https://git.kernel.org/stable/c/a91ac71e67c3e01ed9afd9841435bebb930293f8"},{"url":"https://git.kernel.org/stable/c/698944132083d143ef965c0090ee14ba1d9e1a5f"},{"url":"https://git.kernel.org/stable/c/f25c804947e0a28c15e73da8e2e0db959cbed716"},{"url":"https://git.kernel.org/stable/c/8414f0e9f707226de20b48c7048179fd86d352fc"},{"url":"https://git.kernel.org/stable/c/d06f91a52af11630c9f7e487f6daf242ac310cb8"},{"url":"https://git.kernel.org/stable/c/1e5cd8bc902331ff801df88cbb299029ae062753"},{"url":"https://git.kernel.org/stable/c/956e7da12c114f13c63d126ab1d79c3b6a819060"}],"title":"mtd: mtdoops: free page bitmap when the backing MTD is removed","x_generator":{"engine":"bippy-1.2.0"}}},"cveMetadata":{"assignerOrgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","assignerShortName":"Linux","cveId":"CVE-2026-89953","datePublished":"2026-09-16T10:32:37.676Z","dateReserved":"2026-09-11T19:38:34.777Z","dateUpdated":"2026-09-16T10:32:37.676Z","state":"PUBLISHED"},"dataType":"CVE_RECORD","dataVersion":"5.2"},"nvd":{"publishedDate":"2026-09-16 11:17:05","lastModifiedDate":"2026-09-16 11:17:05","problem_types":[],"metrics":[],"configurations":[]},"legacy_mitre":{"record":{"CveYear":"2026","CveId":"89953","Ordinal":"1","Title":"mtd: mtdoops: free page bitmap when the backing MTD is removed","CVE":"CVE-2026-89953","Year":"2026"},"notes":[{"CveYear":"2026","CveId":"89953","Ordinal":"1","NoteData":"In the Linux kernel, the following vulnerability has been resolved:\n\nmtd: mtdoops: free page bitmap when the backing MTD is removed\n\nmtdoops_notify_add() allocates oops_page_used when the configured MTD\ndevice is registered.  mtdoops_notify_remove() detaches from that device\nbut leaves the bitmap allocated.  If the same MTD device is later\nregistered again, the add path allocates a new bitmap and overwrites the\nold pointer, leaking one vmalloc allocation per remove/add cycle.\n\nThis is only visible when the backing MTD device can disappear and be\nregistered again while mtdoops remains loaded, so the usual static MTD\ncase does not expose it.\n\nFree the bitmap after unregistering the dumper and flushing the pending\nworkers, then clear the pointer and page count before a later attach can\nallocate fresh state.  Clearing the pointer also keeps the module exit\npath from freeing the same bitmap a second time after a remove event.","Type":"Description","Title":"mtd: mtdoops: free page bitmap when the backing MTD is removed"}]}}}