Odebrany

CVE-2026-89973

opublikowano:
modyfikacja:
Ocena CVSS
n/a
Brak oceny

>_ Opis

Tłumaczenie automatyczne – może zawierać nieścisłości.

W jądrze Linuksa usunięto następującą lukę:

nvme-tcp: sprawdź kierunek danych jednostki PDU C2HData

nvme_tcp_handle_c2h_data() znajduje żądanie według identyfikatora polecenia i sprawdza
że ma ładunek, ale nie sprawdza, czy polecenie było wymagane
dane do odczytania. Kontroler, który odpowiada na polecenie zapisu za pomocą C2HData
dlatego osiąga nvme_tcp_recv_data(), gdzie trafia _copy_to_iter()
WARN_ON_ONCE(i->data_source) i zwraca 0. Ścieżka odbiorcza to zmienia
na -EFAULT i resetuje kontroler.

Żadne dane nie są kopiowane, więc nie jest to uszkodzenie pamięci. Co za kontroler
gets to ostrzeżenie jądra, które może wywołać dowolnie, co jest śmiertelne dla hosta
uruchomiony z panic_on_warn.

Ścieżka wysyłania zna już kierunek - sprawdza rq_data_dir()
kiedy buduje polecenie - i nvme_tcp_handle_r2t() sprawdza długość
i przesunięcie żądania, które nazywa. Ścieżka C2HData nie jest sprawdzana
w ogóle kierunek.

Odrzuć jednostkę PDU C2HData, której polecenie nie jest odczytem. Odrzucenie tego kończy się niepowodzeniem
polecenie i resetuje kontroler, ponieważ sprawdza to sąsiad
funkcja działa; to, co znika, to ostrzeżenie.

[ 6.885580] ------------[ wytnij tutaj ]------------
[ 6.886457] OSTRZEŻENIE: lib/iov_iter.c:193 w _copy_to_iter+0x289/0x1330, CPU#0: kworker/0:1H/71
[6.888137] Procesor: 0 UID: 0 PID: 71 Comm: kworker/0:1H Nieskażony 7.2.0-rc5-NVMETCP-gf5098b6bae76 #1 PREEMPT(leniwy)
[ 6.891165] Kolejka robocza: nvme_tcp_wq nvme_tcp_io_work
[ 6.891875] RIP: 0010:_copy_to_iter+0x289/0x1330
[ 6.903739] Śledzenie połączeń:
[ 6.904085] <ZADANIE>
[ 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] ---[ ślad końcowy 0000000000000000 ]---
[ 6.927878] nvme nvme0: kolejka 1 nie mogła skopiować danych żądania 0x71
[6.928709] nvme nvme0: odbiór nie powiódł się: -14

>_ Referencje

Dane podatności pochodzą z oficjalnych źródeł (CVE® List / NVD). Opisy po polsku są tłumaczone automatycznie i mogą zawierać nieścisłości – na stronie rekordu można wyświetlić wersję angielską.

This product uses the NVD API but is not endorsed or certified by the NVD.

Copyright © 1999–2026, The MITRE Corporation. CVE is a registered trademark and the CVE logo is a registered trademark of The MITRE Corporation.

CVE Usage: MITRE hereby grants you a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare derivative works of, publicly display, publicly perform, sublicense, and distribute Common Vulnerabilities and Exposures (CVE®). Any copy you make for such purposes is authorized provided that you reproduce MITRE's copyright designation and this license in any such copy. ALL DOCUMENTS AND THE INFORMATION CONTAINED THEREIN PROVIDED BY MITRE ARE PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND.

NVD Terms of Use / CVE® Terms of Use / nvd.nist.gov / cve.org