CVE-2026-98809

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

Bluetooth: hci_sync: don't drain cmd_sync backlog on unregister

hci_unregister_dev() desactiva cmd_work y cmd_timer, y después llama a hci_cmd_sync_clear(), cuyo cancel_work_sync() espera a que hci_cmd_sync_work() retorne. Ese worker extrae y ejecuta cada entrada de cmd_sync_work_list. Con cmd_work desactivado, nada llega al controlador, por lo que cada comando HCI en cola espera el tiempo completo de HCI_CMD_TIMEOUT (2 s).

El backlog no tiene límite. El espacio de usuario puede seguir encolando comandos MGMT, como MGMT_OP_GET_CLOCK_INFO, contra un controlador que no responde. Cerrar /dev/vhci entonces se bloquea en vhci_release() durante backlog * 2 s:

Leer descripción completaMostrar menos

En una reproducción local, el backlog superó las 5000 entradas, lo que equivale a horas de bloqueo.

Impedir que el worker tome nuevas entradas una vez establecido HCI_UNREGISTER, y despertar con -ENODEV cualquier solicitud que siga esperando antes de cancelar el trabajo. Las entradas restantes son destruidas con -ECANCELED por el barrido existente en hci_cmd_sync_clear(). Permanecen en la lista hasta que el trabajo se haya detenido, de modo que hci_cmd_sync_dequeue() y funciones afines sigan viéndolas. Un callback que ya se esté ejecutando puede seguir emitiendo otro comando, lo que retrasa el unregister como máximo un tiempo de espera por cada comando restante, y no por todo el backlog.

Detalles técnicos trazas, registros y código del informe original
  INFO: task syz-executor:5749 blocked for more than 143 seconds.
   cancel_work_sync
   hci_cmd_sync_clear
   hci_unregister_dev
   vhci_release

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.17 %
Percentil entre todas las CVEs puntuadas
6
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 4 referencias

JSON original (NVD)

Mostrar
{
  "id": "CVE-2026-98809",
  "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": "008ee9eb8a11bcabf12c91771dd4f470b082bd44",
              "lessThan": "143bde97c4101ae68eb656c87e620c45b07a3090",
              "versionType": "git"
            },
            {
              "status": "affected",
              "version": "008ee9eb8a11bcabf12c91771dd4f470b082bd44",
              "lessThan": "7f16443a30f4e86d84ae4faf057d333b41ddb757",
              "versionType": "git"
            },
            {
              "status": "affected",
              "version": "008ee9eb8a11bcabf12c91771dd4f470b082bd44",
              "lessThan": "e8ba8c9c74d1035042cdf6cb5adf8f59b9b1271c",
              "versionType": "git"
            },
            {
              "status": "affected",
              "version": "008ee9eb8a11bcabf12c91771dd4f470b082bd44",
              "lessThan": "b1f24c1ab52345e810c42a1a81286cb5a7c92252",
              "versionType": "git"
            }
          ],
          "programFiles": [
            "net/bluetooth/hci_sync.c"
          ],
          "defaultStatus": "unaffected"
        },
        {
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "product": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "5.17"
            },
            {
              "status": "unaffected",
              "version": "0",
              "lessThan": "5.17",
              "versionType": "semver"
            },
            {
              "status": "unaffected",
              "version": "6.12.113",
              "versionType": "semver",
              "lessThanOrEqual": "6.12.*"
            },
            {
              "status": "unaffected",
              "version": "6.18.56",
              "versionType": "semver",
              "lessThanOrEqual": "6.18.*"
            },
            {
              "status": "unaffected",
              "version": "7.2.10",
              "versionType": "semver",
              "lessThanOrEqual": "7.2.*"
            },
            {
              "status": "unaffected",
              "version": "7.3",
              "versionType": "original_commit_for_fix",
              "lessThanOrEqual": "*"
            }
          ],
          "programFiles": [
            "net/bluetooth/hci_sync.c"
          ],
          "defaultStatus": "affected"
        }
      ]
    }
  ],
  "published": "2026-10-18T16:17:34.997",
  "references": [
    {
      "url": "https://git.kernel.org/stable/c/143bde97c4101ae68eb656c87e620c45b07a3090",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    },
    {
      "url": "https://git.kernel.org/stable/c/7f16443a30f4e86d84ae4faf057d333b41ddb757",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    },
    {
      "url": "https://git.kernel.org/stable/c/b1f24c1ab52345e810c42a1a81286cb5a7c92252",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    },
    {
      "url": "https://git.kernel.org/stable/c/e8ba8c9c74d1035042cdf6cb5adf8f59b9b1271c",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    }
  ],
  "vulnStatus": "Received",
  "descriptions": [
    {
      "lang": "en",
      "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nBluetooth: hci_sync: don't drain cmd_sync backlog on unregister\n\nhci_unregister_dev() disables cmd_work and cmd_timer, then calls\nhci_cmd_sync_clear(), whose cancel_work_sync() waits for\nhci_cmd_sync_work() to return. That worker dequeues and runs every\nentry on cmd_sync_work_list. With cmd_work disabled nothing reaches\nthe controller, so each queued HCI command waits the full\nHCI_CMD_TIMEOUT (2s).\n\nThe backlog has no bound. Userspace can keep queuing MGMT commands\nsuch as MGMT_OP_GET_CLOCK_INFO against a controller that doesn't\nanswer. Closing /dev/vhci then blocks in vhci_release() for\nbacklog * 2s:\n\n  INFO: task syz-executor:5749 blocked for more than 143 seconds.\n   cancel_work_sync\n   hci_cmd_sync_clear\n   hci_unregister_dev\n   vhci_release\n\nIn a local reproduction the backlog held more than 5000 entries,\nwhich comes to hours of hang.\n\nStop the worker from taking new entries once HCI_UNREGISTER is set,\nand wake any request still waiting with -ENODEV before cancelling\nthe work. The entries left over are destroyed with -ECANCELED by the\nexisting sweep in hci_cmd_sync_clear(). They stay on the list until\nthe work has stopped, so hci_cmd_sync_dequeue() and friends still see\nthem. A callback already running may still issue another command,\nwhich delays unregister by at most one timeout per remaining command,\nnot by the whole backlog."
    }
  ],
  "lastModified": "2026-10-19T10:19:44.937",
  "sourceIdentifier": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
}