CVE-2026-98645

Estado: RecibidaSin puntuar—
Gravedad—Sin puntuar
Probabilidad de explotación0.19 %mayor que el 8 % 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:

HID: winwing: fix use-after-free in force feedback teardown

winwing_init_ff() pasa los datos privados del controlador, reservados con devm_kzalloc() en winwing_probe(), como contexto del efecto a input_ff_create_memless(). El núcleo de force feedback memoryless toma la propiedad de ese puntero y lo libera con kfree() desde input_ff_destroy() (ml_ff_destroy()) cuando se destruye el dispositivo de entrada.

Liberar con kfree() una reserva gestionada por devm es una liberación inválida, y el mismo objeto se libera de nuevo mediante devres cuando se desmantela el dispositivo HID, lo que supone una doble liberación.

Leer descripción completaMostrar menos

Como la reserva también incorpora los dispositivos de clase LED, sus temporizadores y su elemento de trabajo quedan en memoria liberada y el slab se corrompe. Esto se activa al desvincular, al ejecutar rmmod, en la desconexión en caliente y en la suspensión del sistema, donde la caché de firmware recorre la lista de devres ya corrupta. KASAN informa:

Para solucionarlo, se pasa NULL como contexto memoryless y se obtienen los datos del controlador a partir del dispositivo de entrada en winwing_play_effect(): el núcleo HID ya almacena el hid_device como drvdata del dispositivo de entrada. Así, el núcleo de force feedback no es propietario de nada que no deba liberar.

Detalles técnicos trazas, registros y código del informe original
  BUG: KASAN: invalid-free in input_ff_destroy
  Allocated by task N:
    winwing_probe

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.19 %
Percentil entre todas las CVEs puntuadas
8
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 2 referencias

JSON original (NVD)

Mostrar
{
  "id": "CVE-2026-98645",
  "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": "42d020b54edc57d03749bed75976f1e962a9fbfa",
              "lessThan": "2b25f11ec52ea0a82334d5b83ee321f6b0a35923",
              "versionType": "git"
            },
            {
              "status": "affected",
              "version": "42d020b54edc57d03749bed75976f1e962a9fbfa",
              "lessThan": "a1a5ad37e50ceb192c07ac7e2d7143638cd4d110",
              "versionType": "git"
            }
          ],
          "programFiles": [
            "drivers/hid/hid-winwing.c"
          ],
          "defaultStatus": "unaffected"
        },
        {
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "product": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "7.1"
            },
            {
              "status": "unaffected",
              "version": "0",
              "lessThan": "7.1",
              "versionType": "semver"
            },
            {
              "status": "unaffected",
              "version": "7.2.9",
              "versionType": "semver",
              "lessThanOrEqual": "7.2.*"
            },
            {
              "status": "unaffected",
              "version": "7.3",
              "versionType": "original_commit_for_fix",
              "lessThanOrEqual": "*"
            }
          ],
          "programFiles": [
            "drivers/hid/hid-winwing.c"
          ],
          "defaultStatus": "affected"
        }
      ]
    }
  ],
  "published": "2026-10-18T16:17:17.757",
  "references": [
    {
      "url": "https://git.kernel.org/stable/c/2b25f11ec52ea0a82334d5b83ee321f6b0a35923",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    },
    {
      "url": "https://git.kernel.org/stable/c/a1a5ad37e50ceb192c07ac7e2d7143638cd4d110",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    }
  ],
  "vulnStatus": "Received",
  "descriptions": [
    {
      "lang": "en",
      "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nHID: winwing: fix use-after-free in force feedback teardown\n\nwinwing_init_ff() passes the driver's private data, allocated with\ndevm_kzalloc() in winwing_probe(), as the effect context to\ninput_ff_create_memless(). The memoryless force-feedback core takes\nownership of that pointer and frees it with kfree() from\ninput_ff_destroy() (ml_ff_destroy()) when the input device is\ndestroyed.\n\nFreeing a devm-managed allocation with kfree() is an invalid free, and\nthe same object is then released again by devres when the HID device is\ntorn down, a double free. As the allocation also embeds the LED class\ndevices, their timers and work item live on freed memory and the slab\ngets corrupted. This triggers on unbind, rmmod, hot-unplug and on system\nsuspend, where the firmware cache walks the now-corrupt devres list.\nKASAN reports:\n\n  BUG: KASAN: invalid-free in input_ff_destroy\n  Allocated by task N:\n    winwing_probe\n\nPass NULL as the memless context instead and fetch the driver data from\nthe input device in winwing_play_effect(): the HID core already stores\nthe hid_device as the input device's drvdata. The force-feedback core\nthen owns nothing that it must not free."
    }
  ],
  "lastModified": "2026-10-19T10:19:28.877",
  "sourceIdentifier": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
}