{
  "affected": [
    {
      "ranges": [
        {
          "events": [
            {
              "introduced": "61b4de4e0b384f4a22c55c3bada604da49cec4e1"
            },
            {
              "fixed": "c08a54df9d33dcd6ff089adc9434b2c008af3a39"
            },
            {
              "fixed": "0d1525fdcd3355672b7485d61e55df6824ab5ad1"
            },
            {
              "fixed": "c875407c34dadaef0599834ad9c815f4c9f50d15"
            },
            {
              "fixed": "44081d708b5b885487bac792db78324b7b4c267d"
            }
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "type": "GIT"
        }
      ]
    },
    {
      "package": {
        "ecosystem": "Linux",
        "name": "Kernel"
      },
      "ranges": [
        {
          "events": [
            {
              "introduced": "4.15.0"
            },
            {
              "fixed": "6.12.113"
            }
          ],
          "type": "ECOSYSTEM"
        },
        {
          "events": [
            {
              "introduced": "6.13.0"
            },
            {
              "fixed": "6.18.56"
            }
          ],
          "type": "ECOSYSTEM"
        },
        {
          "events": [
            {
              "introduced": "6.19.0"
            },
            {
              "fixed": "7.2.10"
            }
          ],
          "type": "ECOSYSTEM"
        }
      ]
    }
  ],
  "database_specific": {
    "cna_assigner": "Linux",
    "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/98xxx/CVE-2026-98854.json"
  },
  "details": "In the Linux kernel, the following vulnerability has been resolved:\n\nof/overlay: only treat a positive changeset id as registered\n\nof_overlay_fdt_apply() stores the idr_alloc() return value in\novcs-\u003eid before checking it. On failure the stored id is negative,\nfree_overlay_changeset()'s \"if (ovcs-\u003eid)\" check passes, idr_remove()\nis called with a negative id and list_del() runs on ovcs-\u003eovcs_list,\nwhich is not initialized until after the id allocation. An allocation\nfailure at that point dereferences NULL.\n\nMake free_overlay_changeset() treat only a strict-positive id as\nregistered. The rest of the function already copes with a\npartially-initialized ovcs, so the error path stays a plain\ngoto err_free_ovcs.",
  "id": "CVE-2026-98854",
  "modified": "2026-10-20T02:31:01.485160353Z",
  "published": "2026-10-18T15:51:06.167Z",
  "references": [
    {
      "type": "PACKAGE",
      "url": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git"
    },
    {
      "type": "WEB",
      "url": "https://git.kernel.org/stable/c/0d1525fdcd3355672b7485d61e55df6824ab5ad1"
    },
    {
      "type": "WEB",
      "url": "https://git.kernel.org/stable/c/44081d708b5b885487bac792db78324b7b4c267d"
    },
    {
      "type": "WEB",
      "url": "https://git.kernel.org/stable/c/c08a54df9d33dcd6ff089adc9434b2c008af3a39"
    },
    {
      "type": "WEB",
      "url": "https://git.kernel.org/stable/c/c875407c34dadaef0599834ad9c815f4c9f50d15"
    },
    {
      "type": "ADVISORY",
      "url": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/98xxx/CVE-2026-98854.json"
    },
    {
      "type": "ADVISORY",
      "url": "https://nvd.nist.gov/vuln/detail/CVE-2026-98854"
    }
  ],
  "schema_version": "1.9.0",
  "summary": "of/overlay: only treat a positive changeset id as registered"
}