CVE-2026-98619

Estado: RecibidaSin puntuar—
Gravedad—Sin puntuar
Probabilidad de explotación0.15 %mayor que el 4 % 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: ethtool: mantener rtnl_lock para la autoprueba de ioctl

Una autoprueba offline que baja la interfaz y vuelve a subirla con netif_close() / netif_open() requiere rtnl_lock para ambas operaciones. Desde que la ruta de ioctl de ethtool pasó a ser opcional respecto a rtnl para los controladores con bloqueo de operaciones (ops-locked), el ioctl ETHTOOL_TEST se ejecuta manteniendo únicamente el bloqueo de instancia de netdev, por lo que, en un controlador ops-locked, la autoprueba ahora desmonta el dispositivo sin rtnl_lock.

Con lockdep, esto se reproduce de forma determinista en cada autoprueba offline de un controlador de este tipo; obsérvese que el único bloqueo retenido es el de instancia, no rtnl:

Leer descripción completaMostrar menos

Sin lockdep, la misma condición activa ASSERT_RTNL() en __dev_close_many() / __dev_open; esa comprobación solo muestrea el estado global de rtnl, por lo que puede quedar enmascarada por un titular concurrente de rtnl, pero el dispositivo sigue reconfigurándose sin el bloqueo que requiere.

La autoprueba ethtool self_test es un comando heredado que solo existe en la vía de ioctl, por lo que basta con un caso ETHTOOL_TEST en dicha vía. Se añade un bit de adhesión voluntaria para los controladores cuya autoprueba necesita rtnl_lock, y se activa en los controladores ops-locked cuya autoprueba offline desmonta y vuelve a levantar la interfaz:

Detalles técnicos trazas, registros y código del informe original
  WARNING: suspicious RCU usage
  net/core/netpoll.c:207 suspicious rcu_dereference_protected() usage!
  1 lock held by ethtool/107:
   #0: (&dev->lock){+.+.}, at: dev_ethtool
  Call Trace:
   netpoll_poll_disable
   __dev_close_many
   netif_close_many
   netif_close
   fbnic_self_test
   dev_ethtool_locked
   dev_ethtool
   dev_ioctl
   sock_ioctl
   __x64_sys_ioctl

  - fbnic (ops-locked mediante queue_mgmt_ops): la ruta offline de fbnic_self_test() usa netif_close() / netif_open().
  - bnxt (ops-locked mediante queue_mgmt_ops): la ruta offline de bnxt_self_test() pasa por bnxt_close_nic() / bnxt_half_open_nic() / bnxt_half_close_nic() / bnxt_open_nic(), que cierran y reabren el dispositivo.

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.15 %
Percentil entre todas las CVEs puntuadas
4
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-98619",
  "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": "f994752b11273ded7ec6b49ae5c1d319eef21743",
              "lessThan": "4ca1503491f1f25a954c13ac5775bf6775c5abc8",
              "versionType": "git"
            },
            {
              "status": "affected",
              "version": "f994752b11273ded7ec6b49ae5c1d319eef21743",
              "lessThan": "1b82958f3f035df5ccaab5430a2302f08a5d5351",
              "versionType": "git"
            }
          ],
          "programFiles": [
            "drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c",
            "drivers/net/ethernet/meta/fbnic/fbnic_ethtool.c",
            "include/linux/ethtool.h",
            "net/ethtool/common.h"
          ],
          "defaultStatus": "unaffected"
        },
        {
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "product": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "7.2"
            },
            {
              "status": "unaffected",
              "version": "0",
              "lessThan": "7.2",
              "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/broadcom/bnxt/bnxt_ethtool.c",
            "drivers/net/ethernet/meta/fbnic/fbnic_ethtool.c",
            "include/linux/ethtool.h",
            "net/ethtool/common.h"
          ],
          "defaultStatus": "affected"
        }
      ]
    }
  ],
  "published": "2026-10-18T16:17:14.787",
  "references": [
    {
      "url": "https://git.kernel.org/stable/c/1b82958f3f035df5ccaab5430a2302f08a5d5351",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    },
    {
      "url": "https://git.kernel.org/stable/c/4ca1503491f1f25a954c13ac5775bf6775c5abc8",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    }
  ],
  "vulnStatus": "Received",
  "descriptions": [
    {
      "lang": "en",
      "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nnet: ethtool: keep rtnl_lock for the ioctl self test\n\nAn offline self test that brings the interface down and back up with\nnetif_close() / netif_open() requires rtnl_lock for both. Since the\nethtool IOCTL path became rtnl-optional for ops-locked drivers, the\nETHTOOL_TEST ioctl runs holding only the netdev instance lock, so on an\nops-locked driver the self test now tears the device down without\nrtnl_lock.\n\nWith lockdep this reproduces deterministically on every offline self\ntest on such a driver; note the sole lock held is the instance lock, not\nrtnl:\n\n  WARNING: suspicious RCU usage\n  net/core/netpoll.c:207 suspicious rcu_dereference_protected() usage!\n  1 lock held by ethtool/107:\n   #0: (&dev->lock){+.+.}, at: dev_ethtool\n  Call Trace:\n   netpoll_poll_disable\n   __dev_close_many\n   netif_close_many\n   netif_close\n   fbnic_self_test\n   dev_ethtool_locked\n   dev_ethtool\n   dev_ioctl\n   sock_ioctl\n   __x64_sys_ioctl\n\nWithout lockdep the same condition trips ASSERT_RTNL() in\n__dev_close_many() / __dev_open(); that check only samples the global\nrtnl state, so it can be masked by a concurrent rtnl holder, but the\ndevice is still being reconfigured without the lock it requires.\n\nThe ethtool self_test is a legacy ioctl-only command, so an ETHTOOL_TEST\ncase is only needed on the ioctl path. Add an opt-in bit for drivers whose\nself test needs rtnl_lock and set it on the ops-locked drivers whose\noffline self test tears the interface down and up:\n\n  - fbnic (ops-locked via queue_mgmt_ops): fbnic_self_test() offline path\n    uses netif_close() / netif_open().\n  - bnxt (ops-locked via queue_mgmt_ops): bnxt_self_test() offline path\n    goes through bnxt_close_nic() / bnxt_half_open_nic() /\n    bnxt_half_close_nic() / bnxt_open_nic(), which close and reopen the\n    device."
    }
  ],
  "lastModified": "2026-10-19T10:19:26.000",
  "sourceIdentifier": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
}