CVE-2026-98496

Estado: RecibidaSin puntuar—
Gravedad—Sin puntuar
Probabilidad de explotación0.20 %mayor que el 9 % de las CVE
Explotación activaNono figura en el catálogo de CISA
Exploit públicoNo conocidosin código público localizado

En el kernel de Linux se ha resuelto la siguiente vulnerabilidad:

net: airoha: npu: cancel wdt_work after releasing the WDT IRQ

airoha_npu_remove() llama a cancel_work_sync() sobre el wdt_work de cada núcleo, pero la interrupción del watchdog que lo encola se solicita con devm_request_irq() y solo se libera después de que .remove() regrese. Por tanto, airoha_npu_wdt_handler() puede volver a ejecutar schedule_work() una vez que la cancelación ya ha retornado. La estructura struct airoha_npu, que contiene el work, se reserva con devm_kzalloc() y se libera en ese mismo desenrollado, de modo que el work tardío desreferencia memoria ya liberada.

Leer descripción completaMostrar menos

Registre el work con devm_work_autocancel() antes de devm_request_irq() y elimine .remove(). Devres ejecuta las liberaciones en orden inverso, así que la IRQ se libera antes de cancel_work_sync(), incluso cuando la sonda falla. Una cancelación dejada en .remove() no puede garantizar ese orden. Inicializar el work primero también evita que una interrupción pendiente del watchdog encole un elemento de trabajo no inicializado. Actualmente, la sonda llama a INIT_WORK() solo después de devm_request_irq().

Esta incidencia se identificó durante nuestra investigación continua de análisis estático al revisar código del kernel.

Traducción automática del texto original de NVD (en inglés).

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)

Probabilidad de explotación en los próximos 30 días
0.20 %
Percentil entre todas las CVEs puntuadas
9
Fecha de la puntuación
20/10/2026

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

Mostrar las 3 referencias

JSON original (NVD)

Mostrar
{
  "id": "CVE-2026-98496",
  "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": "23290c7bc190def4e1ca61610992d9b7c32e33f3",
              "lessThan": "aca91d8fa0ecbc990ebf9a688c684dda78a43c00",
              "versionType": "git"
            },
            {
              "status": "affected",
              "version": "23290c7bc190def4e1ca61610992d9b7c32e33f3",
              "lessThan": "da9d42531f3a6dfea2e9c775b62a46185dbf280a",
              "versionType": "git"
            },
            {
              "status": "affected",
              "version": "23290c7bc190def4e1ca61610992d9b7c32e33f3",
              "lessThan": "4bdee8060d1e4581624e68fbd369b1afb14df4bc",
              "versionType": "git"
            }
          ],
          "programFiles": [
            "drivers/net/ethernet/airoha/airoha_npu.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.15"
            },
            {
              "status": "unaffected",
              "version": "0",
              "lessThan": "6.15",
              "versionType": "semver"
            },
            {
              "status": "unaffected",
              "version": "6.18.55",
              "versionType": "semver",
              "lessThanOrEqual": "6.18.*"
            },
            {
              "status": "unaffected",
              "version": "7.2.9",
              "versionType": "semver",
              "lessThanOrEqual": "7.2.*"
            },
            {
              "status": "unaffected",
              "version": "7.3",
              "versionType": "original_commit_for_fix",
              "lessThanOrEqual": "*"
            }
          ],
          "programFiles": [
            "drivers/net/ethernet/airoha/airoha_npu.c"
          ],
          "defaultStatus": "affected"
        }
      ]
    }
  ],
  "published": "2026-10-18T16:17:00.590",
  "references": [
    {
      "url": "https://git.kernel.org/stable/c/4bdee8060d1e4581624e68fbd369b1afb14df4bc",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    },
    {
      "url": "https://git.kernel.org/stable/c/aca91d8fa0ecbc990ebf9a688c684dda78a43c00",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    },
    {
      "url": "https://git.kernel.org/stable/c/da9d42531f3a6dfea2e9c775b62a46185dbf280a",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    }
  ],
  "vulnStatus": "Received",
  "descriptions": [
    {
      "lang": "en",
      "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nnet: airoha: npu: cancel wdt_work after releasing the WDT IRQ\n\nairoha_npu_remove() calls cancel_work_sync() on each core's wdt_work,\nbut the watchdog IRQ that queues it is requested with devm_request_irq()\nand is freed only after .remove() returns.  airoha_npu_wdt_handler() can\ntherefore schedule_work() again once the cancel has returned.  struct\nairoha_npu, which contains the work, is devm_kzalloc()'d and is freed in\nthat same unwind, so the late work dereferences freed memory.\n\nRegister the work with devm_work_autocancel() before devm_request_irq()\nand drop .remove().  Devres runs in reverse order, so the IRQ is freed\nbefore cancel_work_sync(), including when probe fails.  A cancel left in\n.remove() cannot get that order.  Initializing the work first also stops\na pending watchdog interrupt from queuing an uninitialized work item.\nProbe currently calls INIT_WORK() only after devm_request_irq().\n\nThis issue was identified during our ongoing static-analysis research\nwhile reviewing kernel code."
    }
  ],
  "lastModified": "2026-10-19T10:19:02.170",
  "sourceIdentifier": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
}