CVE-2026-98562

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:

net: libwx: corregir las condiciones de carrera en el manejo de las marcas de tiempo de Tx

wx->ptp_tx_skb es compartido entre la ruta de Tx, el trabajador auxiliar de PTP y las rutas de limpieza de las marcas de tiempo. El bit WX_STATE_PTP_TX_IN_PROGRESS impide que varias rutas de Tx envíen solicitudes de marca de tiempo, pero no serializa el trabajador frente a la limpieza.

En consecuencia, wx_ptp_clear_tx_timestamp() puede liberar un skb después de que wx_ptp_tx_hwtstamp_work() haya obtenido su puntero. El trabajador puede entonces pasar el skb liberado a skb_tstamp_tx() y liberar de nuevo la misma referencia.

Leer descripción completaMostrar menos

La ruta de limpieza también puede borrar el bit de operación en curso mientras el trabajador todavía está procesando el skb antiguo. Esto permite que la ruta de Tx publique un nuevo skb que el trabajador puede sobrescribir posteriormente con NULL, perdiendo así su referencia.

Añada un spinlock dedicado para proteger la publicación y el consumo del skb de marca de tiempo de Tx. Separe el skb y borre el bit de operación en curso mientras se mantiene el bloqueo; a continuación, entregue la marca de tiempo y libere el skb tras soltar el bloqueo. Utilice la misma limpieza bloqueada en la ruta de quiesce, pero mantenga la separación en esa ruta libre de accesos a registros: quiesce se ejecuta durante la recuperación de errores de PCIe, cuando el acceso MMIO no es fiable, y deliberadamente no tocaba antes el dispositivo. El bloqueo se toma con las interrupciones deshabilitadas, porque netpoll puede llamar a ndo_start_xmit() con las interrupciones de hardware ya desactivadas.

Al gestionar un fallo de mapeo DMA de Tx, mantenga la referencia de la ruta de transmisión hasta después de comparar el skb bajo el bloqueo. Así se evita que la reutilización de la dirección del skb haga que la ruta de error confunda una solicitud de marca de tiempo más reciente con la que falló.

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-98562",
  "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": "06e75161b9d4833518a7c266310a0635eab50616",
              "lessThan": "e78b95cfd5df25d0c562aaef95d3c7fe6c7e0e66",
              "versionType": "git"
            },
            {
              "status": "affected",
              "version": "06e75161b9d4833518a7c266310a0635eab50616",
              "lessThan": "3173cba1170131816972ed2b6185cb970ba8b747",
              "versionType": "git"
            }
          ],
          "programFiles": [
            "drivers/net/ethernet/wangxun/libwx/wx_hw.c",
            "drivers/net/ethernet/wangxun/libwx/wx_lib.c",
            "drivers/net/ethernet/wangxun/libwx/wx_ptp.c",
            "drivers/net/ethernet/wangxun/libwx/wx_type.h"
          ],
          "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": "7.2.9",
              "versionType": "semver",
              "lessThanOrEqual": "7.2.*"
            },
            {
              "status": "unaffected",
              "version": "7.3",
              "versionType": "original_commit_for_fix",
              "lessThanOrEqual": "*"
            }
          ],
          "programFiles": [
            "drivers/net/ethernet/wangxun/libwx/wx_hw.c",
            "drivers/net/ethernet/wangxun/libwx/wx_lib.c",
            "drivers/net/ethernet/wangxun/libwx/wx_ptp.c",
            "drivers/net/ethernet/wangxun/libwx/wx_type.h"
          ],
          "defaultStatus": "affected"
        }
      ]
    }
  ],
  "published": "2026-10-18T16:17:08.347",
  "references": [
    {
      "url": "https://git.kernel.org/stable/c/3173cba1170131816972ed2b6185cb970ba8b747",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    },
    {
      "url": "https://git.kernel.org/stable/c/e78b95cfd5df25d0c562aaef95d3c7fe6c7e0e66",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    }
  ],
  "vulnStatus": "Received",
  "descriptions": [
    {
      "lang": "en",
      "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nnet: libwx: fix races in Tx timestamp handling\n\nwx->ptp_tx_skb is shared between the Tx path, the PTP auxiliary\nworker and the timestamp cleanup paths. The\nWX_STATE_PTP_TX_IN_PROGRESS bit prevents multiple Tx paths from\nsubmitting timestamp requests, but does not serialize the worker\nagainst cleanup.\n\nAs a result, wx_ptp_clear_tx_timestamp() can free an skb after\nwx_ptp_tx_hwtstamp_work() has obtained its pointer. The worker may\nthen pass the freed skb to skb_tstamp_tx() and release the same\nreference again.\n\nThe cleanup path may also clear the in-progress bit while the worker\nis still processing the old skb. This allows the Tx path to publish a\nnew skb which the worker can subsequently overwrite with NULL,\nleaking its reference.\n\nAdd a dedicated spinlock to protect publication and consumption of\nthe Tx timestamp skb. Detach the skb and clear the in-progress bit\nwhile holding the lock, then deliver the timestamp and release the skb\nafter dropping it. Use the same locked cleanup in the quiesce path,\nbut keep the detach there free of register accesses: quiesce runs\nduring PCIe error recovery, where MMIO is not reliable, and it\ndeliberately did not touch the device before. The lock is taken with\ninterrupts disabled, because netpoll can call ndo_start_xmit() with\nhard interrupts already off.\n\nWhen handling a Tx DMA mapping failure, keep the transmit path\nreference until after comparing the skb under the lock. This prevents\nskb address reuse from making the error path mistake a newer timestamp\nrequest for the failed one."
    }
  ],
  "lastModified": "2026-10-19T10:19:12.813",
  "sourceIdentifier": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
}