CVE-2026-46275 — Bluetooth: hci_uart: fix UAFs and race conditions in close and init paths
In the Linux kernel, the following vulnerability has been resolved: Bluetooth: hci_uart: fix UAFs and race conditions in close and init paths Vulnerabilities leading to Use-After-Free (UAF) and Null Pointer Dereference (NPD) conditions were observed in the lifecycle management of hci_uart. The primary issue arises because the workqueues (init_ready and write_work) are only flushed/cancelled if the HCI_UART_PROTO_READY flag is set during TTY close. If a hangup occurs before setup completes, hci_uart_tty_close() skips the teardown of these workqueues and proceeds to free the `hu` struct. When the scheduled work executes later, it blindly dereferences the freed `hu` struct. Furthermore, several data races and UAFs were identified in the teardown sequence: 1. Calling hci_uart_flush() from hci_uart_close() without effectively disabling write_work causes a race condition where both can concurrently double-free hu->tx_skb. This happens because protocol timers can concurrently invoke hci_uart_tx_wakeup() and requeue write_work. 2. Calling hci_free_dev(hdev) before hu->proto->close(hu) causes a UAF when vendor specific protocol close callbacks dereference hu->hdev. 3. In the initialization error paths, failing to take the proto_lock write lock before clearing PROTO_READY leads to races with active readers. Additionally, hci_uart_tty_receive() accesses hu->hdev outside the read lock, leading to UAFs if the initialization error path frees hdev concurrently. Fix these synchronization and lifecycle issues by: 1. Re-ordering hci_uart_tty_close() to clear HCI_UART_PROTO_READY first, followed immediately by a cancel_work_sync(&hu->write_work). Clearing the flag locks out concurrent protocol timers from successfully invoking hci_uart_tx_wakeup(), effectively rendering the cancellation permanent and preventing the tx_skb double-free. 2. Note: Clearing PROTO_READY early causes hci_uart_close() to skip hu->proto->flush(). This is perfectly safe in the tty_close path because hu->proto->close() executes shortly after, which intrinsically purges all protocol SKB queues and tears down the state. 3. Relocating hu->proto->close(hu) strictly prior to hci_free_dev(hdev) across all close and error paths to prevent vendor-level UAFs. 4. Moving the hdev->stat.byte_rx increment in hci_uart_tty_receive() inside the proto_lock read-side critical section to safely synchronize with device unregistration. 5. Adding cancel_work_sync(&hu->write_work) to hci_uart_close() to safely flush the workqueue before hci_uart_flush() is invoked via the HCI core. 6. Utilizing cancel_work_sync() instead of disable_work_sync() across all paths to prevent permanently breaking user-space retry capabilities.
Descrição oficial em inglês (tradução ainda não revisada).
Quem explora e qual a prioridade
Nota de 0 a 100 que combina exploração confirmada, uso por ransomware e grupos APT, exploits públicos, EPSS e severidade.
Como a nota foi calculada
- EPSS 0.2% (probabilidade de exploração em 30 dias)+1
- Severidade técnica (high)+6
A nota ordena a fila de correção; não substitui o contexto dos seus ativos (exposição à internet, criticidade, compensações).
Triagem
Está sendo explorada, qual a probabilidade de exploração, o que afeta e qual a severidade segundo as fontes.
Remediação
Correções e mitigações documentadas pelas fontes — com link para o aviso original.
- Patch documentado — git.kernel.org (NIST National Vulnerability Database)
- Patch documentado — git.kernel.org (NIST National Vulnerability Database)
- Patch documentado — git.kernel.org (NIST National Vulnerability Database)
- Patch documentado — git.kernel.org (NIST National Vulnerability Database)
- Patch documentado — git.kernel.org (NIST National Vulnerability Database)
- Patch documentado — git.kernel.org (NIST National Vulnerability Database)
- Patch documentado — git.kernel.org (NIST National Vulnerability Database)
- Patch documentado — git.kernel.org (NIST National Vulnerability Database)
Primeiras 24 horas
Ordenado a partir dos próprios campos do registro — exposição primeiro, porque não se corrige o que não se encontrou. Ponto de partida, gerado por regras.
- Identifique ativos expostos que executam as combinações de fabricante/produto/versão afetadas (Linux Linux, Linux Linux Kernel).
- Aplique a versão corrigida ou o patch documentado na seção Remediação.
- Procure nos logs disponíveis sinais de tentativa de exploração compatíveis com a classe da falha (erro de lógica), erros e anomalias de autenticação.
Escopo afetado
Fabricante, produto e versões como as fontes os descrevem.
| Fabricante | Produto | Versões | Status | Fonte |
|---|---|---|---|---|
| Linux | Linux |
versão 3fe978892ab46efc2f3830d9abc015eff72caaf9≥ 3b799254cf6f481460719023d7a18f46651e5e7f e < 9d20d48be2c4a071fb015eb09bda2cecd25daf34≥ 3b799254cf6f481460719023d7a18f46651e5e7f e < 81c7a3c22a0f2808cf4ae0b4908f59763b23606d≥ 3b799254cf6f481460719023d7a18f46651e5e7f e < 192cb0f1ca706d9a1bc36ae0ad5f666d1e4fd894≥ 3b799254cf6f481460719023d7a18f46651e5e7f e < 7338031946bd06f6dff149e67b60c4cd083bfea8≥ 3b799254cf6f481460719023d7a18f46651e5e7f e < c1bb9336ae6b54a5f6a353c4bd4ed9a4307e429bversão cd27019bc149f20f12ebec943c2b4c775745a5a0versão aea63181b6fcb6b9ccde1ada9ea51be19c4015af e mais 11versão 0d234d1135dcd8876de0576dac68efd0a87eef87≥ 3b799254cf6f481460719023d7a18f46651e5e7f e < c85cff648a2bc92322912db5f1727ad05afae7b6versão 0d987e14bebaf0f67ee7dbefaf6165c62cd1d27f≥ 4.14.203 e < 4.15≥ 4.19.153 e < 4.20≥ 5.4.73 e < 5.5≥ 5.8.17 e < 5.9≥ 5.9.2 e < 5.10versão 5.10≥ 3b799254cf6f481460719023d7a18f46651e5e7f e < e2d19969c8d9198ecc3090bcd5312ecd503a3339≥ 3b799254cf6f481460719023d7a18f46651e5e7f e < 78aad93e938f013d9272fe0ee168f27883afa95c |
Vulnerável | CVE Program (cve.org) e CISA ADP |
| Linux | Linux Kernel |
≥ 4.19.153 e < 4.20≥ 4.14.203 e < 4.15≥ 5.4.73 e < 5.5≥ 5.8.17 e < 5.9≥ 5.9.2 e < 5.10.258≥ 5.11 e < 5.15.209≥ 5.16 e < 6.1.175≥ 6.2 e < 6.6.142 e mais 7≥ 6.7 e < 6.12.92≥ 6.13 e < 6.18.34≥ 6.19 e < 7.0.11versão 7.1-rc1versão 7.1-rc2versão 7.1-rc3versão 7.1-rc4 |
Vulnerável | NIST National Vulnerability Database |
Características do ataque
O vetor CVSS decodificado. Descreve o ataque, não a sua exposição a ele.
Todas as pontuações coletadas
As fontes pontuam de forma independente e podem discordar; cada linha diz quem pontuou e em qual versão.
| Nota | Versão | Severidade | Explor. | Impacto | Pontuado por |
|---|---|---|---|---|---|
| 7.8 | CVSS 3.1 | Alta | 1.8 | 5.9 | 416baaa9-dc9f-4396-8d5f-8c081fb06d67 via NIST National Vulnerability Database |
| 7.8 | CVSS 3.1 | Alta | — | — | GitHub, Inc. via GitHub Security Advisories |
| 7.8 | CVSS 3.1 | Alta | — | — | Linux via CVE Program (cve.org) e CISA ADP |
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H (nota exibida no topo: 416baaa9-dc9f-4396-8d5f-8c081fb06d67) Fraqueza MITRE
Classe de fraqueza segundo o catálogo CWE do MITRE.
EPSS ao longo do tempo FIRST
13/10/2026 → 14/10/2026 · 2 leitura(s) · máximo 0.19%
Detecção
Derivado do vetor CVSS e da classe da fraqueza. Pontos de partida, não regras testadas.
- Vetor local/físico: concentre-se em telemetria de endpoint (EDR) dos hosts afetados.
Linha do tempo
O que aconteceu com esta CVE, do mais recente ao mais antigo.
- 2026
- Status na fonte alterado · Analyzed → Modified
- Produtos afetados adicionados · linux/linux
- Ficha publicada
- Correção documentada
- CVSS alterado · 7.8
- Status na fonte alterado · → Analyzed
- Registro criado nesta base
- CVE publicada
Atividade das fontes
Leituras que se repetem foram contadas em vez de listadas.
- 2× Referências adicionadas · 14/10/2026 – 15/10/2026
- 1× Descrição oficial atualizada · 13/10/2026 – 13/10/2026
Referências
11 no registro
- git.kernel.org/stable/c/78aad93e938f013d9272fe0ee168f27883afa95c
- git.kernel.org/stable/c/e2d19969c8d9198ecc3090bcd5312ecd503a3339
- git.kernel.org/stable/c/c1bb9336ae6b54a5f6a353c4bd4ed9a4307e429b
- git.kernel.org/stable/c/c85cff648a2bc92322912db5f1727ad05afae7b6
- git.kernel.org/stable/c/81c7a3c22a0f2808cf4ae0b4908f59763b23606d
- git.kernel.org/stable/c/192cb0f1ca706d9a1bc36ae0ad5f666d1e4fd894
- git.kernel.org/stable/c/7338031946bd06f6dff149e67b60c4cd083bfea8
- git.kernel.org/stable/c/9d20d48be2c4a071fb015eb09bda2cecd25daf34
- cert-portal.siemens.com/productcert/html/ssa-784472.html
- nvd.nist.gov/vuln/detail/CVE-2026-46275
- github.com/advisories/GHSA-mpvf-w98g-3c74
Em outras páginas do site
CVEs relacionadas (mesmos produtos)
- Crítica CVE-2026-99999 ipv4: validate checksum_start before completing checksum 9 h
- Desconhecida CVE-2026-98432 ipv4: free inet_opt and ireq_opt after an RCU grace period 9 h
- Desconhecida CVE-2026-98424 wifi: cfg80211: undo netns switch if renaming the wiphy fails 1 d
- Desconhecida CVE-2026-98425 wifi: mac80211: don't warn when an IBSS has no channel to scan 1 d
- Desconhecida CVE-2026-98426 wifi: mwifiex: fix IRQ leak using wrong index in MSI-X error path 1 d
- Desconhecida CVE-2026-98427 net/sched: codel: bound the dropping loop per dequeue call 1 d
Não consta em nenhuma fonte consultada
Listado em vez de deixado em branco: um campo vazio e um não medido parecem iguais na tela, e só um deles é motivo para procurar em outro lugar.
- Sem avaliação SSVC da CISA.
- Nenhum IOC confirmado (IPs, domínios, hashes ou artefatos de malware) fornecido.
- Nenhum inventário de ativos, controle compensatório ou evidência de implantação de patch da sua organização.
- Nenhuma captura de tráfego de exploração, amostra de log ou caso de incidente.
Respondido a partir deste registro
Texto montado apenas com os campos acima — sem afirmações adicionais.
O que os defensores devem saber primeiro?
CVE-2026-46275 é "Bluetooth: hci_uart: fix UAFs and race conditions in close and init paths", de severidade Alta. Afeta Linux (Linux); as versões estão na tabela de escopo. Não está na CISA KEV, o que não exclui exploração. CVSS 7.8 descreve a severidade técnica. EPSS 0.19% estima a probabilidade de exploração em 30 dias; nenhum dos dois substitui o contexto dos seus ativos. Verifique primeiro se ativos expostos ou críticos executam as versões afetadas, aplique as correções ou mitigações do fabricante e preserve logs para análise.
Comentários
Discussão técnica moderada. Leia as regras da comunidade.
Nenhum comentário ainda.
Entre ou crie uma conta para comentar e sugerir correções.