CVE-2026-89953 (GCVE-0-2026-89953)
Vulnerability from cvelistv5
Published
2026-09-16 10:32
Modified
2026-10-19 08:55
Severity ?
Summary
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.
Impacted products
Vendor Product Version
Linux Linux Version: be95745f01677245a061a8f51473ef5ec8ad008e
Version: be95745f01677245a061a8f51473ef5ec8ad008e
Version: be95745f01677245a061a8f51473ef5ec8ad008e
Version: be95745f01677245a061a8f51473ef5ec8ad008e
Version: be95745f01677245a061a8f51473ef5ec8ad008e
Version: be95745f01677245a061a8f51473ef5ec8ad008e
Version: be95745f01677245a061a8f51473ef5ec8ad008e
Version: be95745f01677245a061a8f51473ef5ec8ad008e
Create a notification for this product.
Show details on NVD website


{
  "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",
              "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",
                  "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-10-19T08:55:27.271Z",
        "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-10-19T08:55:27.271Z",
    "state": "PUBLISHED"
  },
  "dataType": "CVE_RECORD",
  "dataVersion": "5.2"
}


Log in or create an account to share your comment.




Tags
Taxonomy of the tags.


Loading…

Loading…

Loading…

Sightings

Author Source Type Date

Nomenclature

  • Seen: The vulnerability was mentioned, discussed, or seen somewhere by the user.
  • Confirmed: The vulnerability is confirmed from an analyst perspective.
  • Published Proof of Concept: A public proof of concept is available for this vulnerability.
  • Exploited: This vulnerability was exploited and seen by the user reporting the sighting.
  • Patched: This vulnerability was successfully patched by the user reporting the sighting.
  • Not exploited: This vulnerability was not exploited or seen by the user reporting the sighting.
  • Not confirmed: The user expresses doubt about the veracity of the vulnerability.
  • Not patched: This vulnerability was not successfully patched by the user reporting the sighting.


Loading…

Loading…