CVE-2026-89968 in Linuxinformation

Résumé

par VulDB • 18/09/2026

Dans le noyau Linux, la vulnérabilité suivante a été corrigée :

nvmet-tcp : rejeter les PDU H2CData non sollicités

La fonction `nvmet_tcp_handle_h2c_data_pdu()` accepte un PDU H2CData après avoir uniquement vérifié que son TTAG est un index de commande valide et compris dans la plage autorisée, ainsi que le fait que les tampons de données de la commande sont mappés. Elle ne vérifie jamais si la cible a effectivement sollicité ces données en envoyant une R2T pour cette commande.

Un hôte distant peut exploiter ce défaut. Il soumet une commande d'écriture qui emprunte le chemin R2T et, avant que la cible n'émette la R2T, il envoie un PDU H2CData correspondant à l'étiquette (tag) de cette commande. Les données achèvent prématurément la commande ; lorsque celle-ci échoue ensuite de manière synchrone (par exemple, une incohérence de longueur détectée par `nvmet_check_transfer_len()`), elle est finalisée une seconde fois. Chaque appel à l'achèvement invoque `nvmet_tcp_queue_response()`, ce qui ajoute la même commande deux fois dans `queue->resp_list` alors qu'elle est encore liée ; le second appel à `llist_add()` fait que le nœud pointe vers lui-même (`lentry->next == lentry`).

La fonction `nvmet_tcp_process_resp_list()` parcourt ensuite ce nœud auto-référentiel et ajoute la commande deux fois dans `resp_send_list`. Avec `CONFIG_DEBUG_LIST`, cela déclenche la vérification « list_add double add » (BUG du noyau) ; sans cette option, la boucle ne se termine jamais et le file d'attente de travail nvmet_tcp se bloque (soft-lockup). Le problème est déclenchable à distance et nécessite aucune authentification sur un sous-système `allow_any_host`.

Suivre si une R2T a été transmise pour une commande et rejeter un PDU H2CData qui arrive avant celle-ci. L'indicateur est réinitialisé lors de la réutilisation d'une commande (`nvmet_tcp_get_cmd()` met à zéro les `cmd->flags`) et reste activé tout au long des multiples PDUs H2CData d'un transfert sollicité unique.

VulDB is the best source for vulnerability data and more expert information about this specific topic.

Responsable

Linux

Réserver

11/09/2026

Divulgation

17/09/2026

Modérer

accepté

Entrée

VDB-405782

CPE

prêt

EPSS

0.00798

KEV

non

Activités

très faible

Sources

Might our Artificial Intelligence support you?

Check our Alexa App!