{
  "affected": [
    {
      "ranges": [
        {
          "events": [
            {
              "introduced": "8660484ed1cf3261e89e0bad94c6395597e87599"
            },
            {
              "fixed": "2c85e0fb528e039aa8ea1e9c2a1f64347f990541"
            },
            {
              "fixed": "b2709aad7599f6fd957939b60f4a8323c8f08072"
            },
            {
              "fixed": "cd2396fc9684d2cfd3f3c3f09c79d6d9d725b0ca"
            },
            {
              "fixed": "5eecb11b543f9f417bcf0dea239ff99c6af65dbd"
            }
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "type": "GIT"
        }
      ]
    },
    {
      "package": {
        "ecosystem": "Linux",
        "name": "Kernel"
      },
      "ranges": [
        {
          "events": [
            {
              "introduced": "6.4.0"
            },
            {
              "fixed": "6.12.110"
            }
          ],
          "type": "ECOSYSTEM"
        },
        {
          "events": [
            {
              "introduced": "6.13.0"
            },
            {
              "fixed": "6.18.52"
            }
          ],
          "type": "ECOSYSTEM"
        },
        {
          "events": [
            {
              "introduced": "6.19.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-90291.json"
  },
  "details": "In the Linux kernel, the following vulnerability has been resolved:\n\nmodule/dups: Fix use-after-free in kmod_dup_req lifetime handling\n\nThe kmod dups code uses RCU to ensure that a kmod_dup_req instance is freed\nonly after it is no longer referenced. When releasing an instance, the\nkmod_dup_request_delete() function removes the kmod_dup_req from the\ndup_kmod_reqs list, waits via synchronize_rcu() and finally frees it.\nHowever, this doesn't work correctly because parallel users referencing the\ninstance in kmod_dup_request_exists_wait() don't enter an RCU read-side\ncritical section. This can result in a use-after-free.\n\nThe kmod_dup_request_exists_wait() function may need to hold a valid\nreference to a kmod_dup_req instance across a blocking wait until the\ncorresponding modprobe command completes. This makes it unsuitable for RCU.\n\nFix the issue by changing the lifecycle management of kmod_dup_req to use\nreference counting.",
  "id": "CVE-2026-90291",
  "modified": "2026-09-19T03:30:16.161656741Z",
  "published": "2026-09-17T16:08:18.700Z",
  "references": [
    {
      "type": "WEB",
      "url": "https://git.kernel.org/stable/c/2c85e0fb528e039aa8ea1e9c2a1f64347f990541"
    },
    {
      "type": "WEB",
      "url": "https://git.kernel.org/stable/c/5eecb11b543f9f417bcf0dea239ff99c6af65dbd"
    },
    {
      "type": "WEB",
      "url": "https://git.kernel.org/stable/c/b2709aad7599f6fd957939b60f4a8323c8f08072"
    },
    {
      "type": "WEB",
      "url": "https://git.kernel.org/stable/c/cd2396fc9684d2cfd3f3c3f09c79d6d9d725b0ca"
    },
    {
      "type": "ADVISORY",
      "url": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/90xxx/CVE-2026-90291.json"
    },
    {
      "type": "ADVISORY",
      "url": "https://nvd.nist.gov/vuln/detail/CVE-2026-90291"
    },
    {
      "type": "PACKAGE",
      "url": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git"
    }
  ],
  "schema_version": "1.9.0",
  "severity": [
    {
      "score": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H",
      "type": "CVSS_V3"
    }
  ],
  "summary": "module/dups: Fix use-after-free in kmod_dup_req lifetime handling"
}