Odebrany

CVE-2026-98366

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ę:

RDMA/rxe: sprawdź flagi dostępu przed wymianą PD MR

rxe_rereg_user_mr() najpierw ponownie przypisuje plik mr->ibmr.pd
sprawdza argument IB_MR_REREG_ACCESS:

if (flagi i IB_MR_REREG_PD) {
rxe_put(stary_pd);
rxe_get(pd);
pan->ibmr.pd = ibpd;
}

if (flagi i IB_MR_REREG_ACCESS) {
if (dostęp i ~RXE_ACCESS_SUPPORTED_MR)
zwróć ERR_PTR(-EOPNOTSUPP);
pan->dostęp = dostęp;
}

Obie flagi przechodzą kontrolę wpisu, ponieważ RXE_MR_REREG_SUPPORTED jest
IB_MR_REREG_PD | IB_MR_REREG_ACCESS, więc osoba dzwoniąca może uzyskać dostęp
sprawdź, czy plik mr->ibmr.pd został już ponownie przypisany.

mr->ibmr.pd jest własnością rdzenia, który dostosowuje pd->usecnt tylko na
ścieżka sukcesu: ib_uverbs_rereg_mr() przeskakuje do put_new_uobj w przypadku błędu sterownika
bez cofania ponownego przypisania, więc mr->pd == new_pd podczas gdy usecnts
nadal ładuj MR do orig_pd. ib_dereg_mr_user() następnie maleje
new_pd, którego liczba może osiągnąć zero, gdy okno pamięci nadal się odwołuje
to; uverbs_free_pd() zwalnia PD wyłącznie na podstawie tego zliczenia, a rxe_mw_cleanup()
zapisuje do zwolnionej pamięci:

BŁĄD: KASAN: użycie płyty po zwolnieniu w __rxe_put+0x31/0xa0
Zapisz rozmiar 4 pod adresem ffff8881301dd690 w zadaniu rxe_poc/591
__rxe_put+0x31/0xa0
rxe_mw_cleanup+0x42/0x200
__rxe_cleanup+0x115/0x370
rxe_dealloc_mw+0x4c/0x80
Przydzielone przez zadanie 591:
ib_uverbs_alloc_pd+0x258/0x540
Uwolniony przez zadanie 591:
ib_dealloc_pd_user+0x174/0x210
uverbs_free_pd+0x8d/0xc0
ib_uverbs_dealloc_pd+0x18e/0x1d0

Sprawdź flagi dostępu przed mutacją dowolnego stanu, więc wywołanie zwrotne też
stosuje każdą żądaną zmianę lub nie stosuje żadnej.

>_ 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