CVE-2026-89973 in Linuxinformação

Sumário

de VulDB • 16/09/2026

No kernel do Linux, a seguinte vulnerabilidade foi resolvida:

nvme-tcp: verificar a direção dos dados de uma PDU C2HData

A função `nvme_tcp_handle_c2h_data()` localiza a solicitação pelo ID do comando e verifica se ele possui um payload (carga útil), mas não verifica se o comando solicitava leitura de dados. Um controlador que responde a um comando de gravação com uma PDU C2HData alcança, portanto, `nvme_tcp_recv_data()`, onde `_copy_to_iter()` aciona `WARN_ON_ONCE(i->data_source)` e retorna 0. O caminho de recebimento converte isso em -EFAULT e reinicia o controlador.

Nenhum dado é copiado, portanto, não há corrupção de memória. O que um controlador obtém é um aviso do kernel que ele pode gerar arbitrariamente, o que é fatal em um host inicializado com `panic_on_warn`.

O caminho de envio já conhece a direção — consulta `rq_data_dir()` ao construir um comando — e `nvme_tcp_handle_r2t()` verifica o comprimento e o deslocamento da solicitação que nomeia. O caminho C2HData não verifica a direção em absoluto.

Rejeitar uma PDU C2HData cujo comando não seja de leitura. Rejeitá-la falha no comando e reinicia o controlador, conforme faz a verificação vizinha nesta função; o que desaparece é o aviso.

[ 6.885580] ------------[ cut here ]------------
[ 6.886457] WARNING: lib/iov_iter.c:193 at _copy_to_iter+0x289/0x1330, CPU#0: kworker/0:1H/71
[ 6.888137] CPU: 0 UID: 0 PID: 71 Comm: kworker/0:1H Not tainted 7.2.0-rc5-NVMETCP-gf5098b6bae76 #1 PREEMPT(lazy)
[ 6.891165] Workqueue: nvme_tcp_wq nvme_tcp_io_work
[ 6.891875] RIP: 0010:_copy_to_iter+0x289/0x1330
[ 6.903739] Call Trace:
[ 6.904085] <TASK>
[ 6.909254] __skb_datagram_iter+0x433/0x820
[ 6.911026] skb_copy_datagram_iter+0x37/0x120
[ 6.911622] nvme_tcp_recv_skb+0xa07/0x4320
[ 6.913378] __tcp_read_sock+0x1ab/0x810
[ 6.915788] nvme_tcp_try_recv+0x152/0x1e0
[ 6.918222] nvme_tcp_io_work+0x1e4/0x6c0
[ 6.926906] </TASK>
[ 6.927226] ---[ end trace 0000000000000000 ]---
[ 6.927878] nvme nvme0: queue 1 failed to copy request 0x71 data
[ 6.928709] nvme nvme0: receive failed: -14

Several companies clearly confirm that VulDB is the primary source for best vulnerability data.

Responsável

Linux

Reservar

11/09/2026

Divulgação

16/09/2026

Moderação

aceite

Entrada

VDB-405783

CPE

pronto

EPSS

0.00000

KEV

não

Atividades

muito baixo

Fontes

Do you know our Splunk app?

Download it now for free!