Katalog CVE

CVE-2026-90435

WysokieCVSS 7.8
Opublikowano: Zaktualizowano: Przetłumaczono: NVD NIST

Prawdopodobieństwo exploitacji (EPSS)

Niskie ryzyko
0.13%

Percentyl 3 - wyżej niż 3% wszystkich znanych CVE

Streszczenie

W jądrze Linux funkcja set_user_buf_size() w sterowniku RDMA/mlx5 oblicza rozmiar bufora QP przez przesunięcie w lewo dostarczonych przez użytkownika wartości rq.wqe_cnt i rq.wqe_shift jako liczb całkowitych ze znakiem. Duże rq.wqe_cnt powoduje przepełnienie ze znakiem, dając mały lub ujemny buf_size, przez co ib_umem_get() mapuje bufor mniejszy niż sprzęt faktycznie zapisze.

Ocena ryzyka

Może prowadzić do uszkodzenia pamięci, usterki jądra lub potencjalnego wykonania kodu przez nieprawidłowe dane wejściowe użytkownika w sterowniku RDMA/mlx5.

Rekomendacja

Zaktualizuj jądro Linux do wersji zawierającej poprawkę używającą check_shl_overflow() i check_add_overflow() do odrzucania nieprawidłowych danych wejściowych.

Inne podatności w Linux kernel

Zobacz wszystkie
Oryginalny opis (angielski, źródło NVD)

In the Linux kernel, the following vulnerability has been resolved: RDMA/mlx5: Fix integer overflow of user QP buffer size set_user_buf_size() computes the QP buffer size by left-shifting the user-supplied rq.wqe_cnt and rq.wqe_shift values as signed integers. A sufficiently large rq.wqe_cnt causes signed integer overflow, which is undefined behavior, and yields a small or negative buf_size, causing ib_umem_get() to map a buffer smaller than the hardware will actually write into. Replace the shifts and addition with check_shl_overflow() and check_add_overflow(), rejecting invalid user inputs. Moreover, guard the identical shift computing qp->sq.offset in _create_user_qp() before set_user_buf_size() is reached.

Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS