« Volver al listado

CVE-2026-93086

Estado: RecibidaSin puntuar—

In the Linux kernel, the following vulnerability has been resolved:

firmware: arm_scmi: Avoid IDR updates while cleaning channels

scmi_cleanup_channels() walks the TX/RX channel IDRs with idr_for_each() to free transport resources and destroy the dedicated transport devices before calling idr_destroy().

The destroy callback removed each entry from the same IDR being walked. That is not needed for this cleanup path, and it is unsafe because idr_for_each() has not advanced its radix-tree iterator while the callback is running. Removing the current entry from the callback can invalidate the iterator state. The callback also cannot be protected by rcu_read_lock(), because scmi_device_destroy() may sleep.

Leer descripción completaMostrar menos

Leave IDR teardown to the following idr_destroy() call and keep the callback limited to device destruction.

CVSS

NVD no ha asignado puntuación CVSS a esta CVE (habitual desde el cambio de política de abril de 2026).

Probabilidad de explotación (EPSS)

EPSS (Exploit Prediction Scoring System, de FIRST) estima la probabilidad de que una vulnerabilidad sea explotada en 30 días. Complementa a CVSS (impacto) y a CISA KEV (explotación confirmada).

Tecnologías afectadas (1)

⚠ Inferidas por IA a partir de la descripción — NVD aún no ha analizado esta CVE; no son CPE verificados.

Referencias

JSON original (NVD)

Mostrar
{
  "id": "CVE-2026-93086",
  "cveTags": [],
  "metrics": {},
  "affected": [
    {
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
      "affectedData": [
        {
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "product": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "05a2801d8b90c1b5159618d4bd3a3c65d60f3ff1",
              "lessThan": "aed24a3c63920539e9de7fbfe7929a2e7c888cd2",
              "versionType": "git"
            },
            {
              "status": "affected",
              "version": "05a2801d8b90c1b5159618d4bd3a3c65d60f3ff1",
              "lessThan": "431c6b872ba7fedcc5a3afb0ec3517db4d95d088",
              "versionType": "git"
            },
            {
              "status": "affected",
              "version": "05a2801d8b90c1b5159618d4bd3a3c65d60f3ff1",
              "lessThan": "54e5a4f7d83db4552d963d0785be32d9df680dcd",
              "versionType": "git"
            },
            {
              "status": "affected",
              "version": "05a2801d8b90c1b5159618d4bd3a3c65d60f3ff1",
              "lessThan": "bab26acebe55e8ad3ab545abda72faa7ca28c477",
              "versionType": "git"
            },
            {
              "status": "affected",
              "version": "05a2801d8b90c1b5159618d4bd3a3c65d60f3ff1",
              "lessThan": "c38b1e19485aaa820e52cfe162525a8af67563da",
              "versionType": "git"
            }
          ],
          "programFiles": [
            "drivers/firmware/arm_scmi/driver.c"
          ],
          "defaultStatus": "unaffected"
        },
        {
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "product": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "6.3"
            },
            {
              "status": "unaffected",
              "version": "0",
              "lessThan": "6.3",
              "versionType": "semver"
            },
            {
              "status": "unaffected",
              "version": "6.6.157",
              "versionType": "semver",
              "lessThanOrEqual": "6.6.*"
            },
            {
              "status": "unaffected",
              "version": "6.12.110",
              "versionType": "semver",
              "lessThanOrEqual": "6.12.*"
            },
            {
              "status": "unaffected",
              "version": "6.18.52",
              "versionType": "semver",
              "lessThanOrEqual": "6.18.*"
            },
            {
              "status": "unaffected",
              "version": "7.2.6",
              "versionType": "semver",
              "lessThanOrEqual": "7.2.*"
            },
            {
              "status": "unaffected",
              "version": "7.3-rc1",
              "versionType": "original_commit_for_fix",
              "lessThanOrEqual": "*"
            }
          ],
          "programFiles": [
            "drivers/firmware/arm_scmi/driver.c"
          ],
          "defaultStatus": "affected"
        }
      ]
    }
  ],
  "published": "2026-09-17T17:18:02.713",
  "references": [
    {
      "url": "https://git.kernel.org/stable/c/431c6b872ba7fedcc5a3afb0ec3517db4d95d088",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    },
    {
      "url": "https://git.kernel.org/stable/c/54e5a4f7d83db4552d963d0785be32d9df680dcd",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    },
    {
      "url": "https://git.kernel.org/stable/c/aed24a3c63920539e9de7fbfe7929a2e7c888cd2",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    },
    {
      "url": "https://git.kernel.org/stable/c/bab26acebe55e8ad3ab545abda72faa7ca28c477",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    },
    {
      "url": "https://git.kernel.org/stable/c/c38b1e19485aaa820e52cfe162525a8af67563da",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    }
  ],
  "vulnStatus": "Received",
  "descriptions": [
    {
      "lang": "en",
      "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nfirmware: arm_scmi: Avoid IDR updates while cleaning channels\n\nscmi_cleanup_channels() walks the TX/RX channel IDRs with\nidr_for_each() to free transport resources and destroy the dedicated\ntransport devices before calling idr_destroy().\n\nThe destroy callback removed each entry from the same IDR being walked.\nThat is not needed for this cleanup path, and it is unsafe because\nidr_for_each() has not advanced its radix-tree iterator while the\ncallback is running. Removing the current entry from the callback can\ninvalidate the iterator state. The callback also cannot be protected by\nrcu_read_lock(), because scmi_device_destroy() may sleep.\n\nLeave IDR teardown to the following idr_destroy() call and keep the\ncallback limited to device destruction."
    }
  ],
  "lastModified": "2026-09-17T17:18:02.713",
  "sourceIdentifier": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
}