{
  "affected": [
    {
      "ranges": [
        {
          "events": [
            {
              "introduced": "e2dcf9065536ab4a1b00828ff0d19f7d282dfecc"
            },
            {
              "fixed": "36fb592af353c55832e2cafe3fcfc3291be05f19"
            },
            {
              "fixed": "c76cbf348c7df077f93fa99a1225a527ce64cfa1"
            }
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "type": "GIT"
        }
      ]
    },
    {
      "package": {
        "ecosystem": "Linux",
        "name": "Kernel"
      },
      "ranges": [
        {
          "events": [
            {
              "introduced": "7.0.0"
            },
            {
              "fixed": "7.2.6"
            }
          ],
          "type": "ECOSYSTEM"
        }
      ]
    }
  ],
  "database_specific": {
    "cna_assigner": "Linux",
    "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/90xxx/CVE-2026-90310.json"
  },
  "details": "In the Linux kernel, the following vulnerability has been resolved:\n\nxen/xenbus: check otherend_id only after it has been initialized\n\nWhen device just got initialized (for example on module load), the\notherend_id field is initialized only after\nxenbus_read_otherend_details() gets called. If xenstore watch triggers\nxenbus_dev_changed() before that, it might consider still zeroed\notherend_id field (not matching actual xenstore content) as a sign of\ndevice state reset. It can happen because xenstore watch are handled in\nanother thread (xenwatch), which can run in parallel to the initial\ndevice probe running at module load. In that case, it would call\ndevice_unregister(), which would deadlock against device probe from\nmodule init.\n\nFix this by considering dev-\u003eotherend_id change only after dev-\u003eotherend\nis set (which happen after otherend_id is initialized).",
  "id": "CVE-2026-90310",
  "modified": "2026-09-18T03:30:32.720032855Z",
  "published": "2026-09-17T16:08:31.001Z",
  "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/36fb592af353c55832e2cafe3fcfc3291be05f19"
    },
    {
      "type": "WEB",
      "url": "https://git.kernel.org/stable/c/c76cbf348c7df077f93fa99a1225a527ce64cfa1"
    },
    {
      "type": "ADVISORY",
      "url": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/90xxx/CVE-2026-90310.json"
    },
    {
      "type": "ADVISORY",
      "url": "https://nvd.nist.gov/vuln/detail/CVE-2026-90310"
    }
  ],
  "schema_version": "1.9.0",
  "summary": "xen/xenbus: check otherend_id only after it has been initialized"
}