Wysoki Odebrany

CVE-2026-99224

opublikowano:
modyfikacja:
Ocena CVSS
7.0
Wysoki · v3.1
wektor: CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H

>_ Opis

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

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

klucze: Chroń nazwę typu podczas opisywania klucza

keyctl_describe_key() musi utrzymywać nazwę typu klucza do momentu
kasprintf() go zużył. Zachowane odniesienie do klucza zachowuje klucz
i jego opis jest aktywny, ale nie przypina modułu dostarczającego ten plik
wpisz. Nazwa jest przekazywana do kasprintf() bez trzymania klawisza->sem.

kvasprintf() używa zapisanego wskaźnika nazwy w dwóch przebiegach formatowania, z
alokację GFP_KERNEL pomiędzy nimi. W przypadku AF_RXRPC=m zadanie, które
przechodzi Wyświetl uprawnienia przed wycofaniem typu mogą nakładać się na uprawnienia uprzywilejowane
moduł rozładowuje się w następującej kolejności:

1. KEYCTL_DESCRIBE wyszukuje klucz, zapisuje klucz->typ->nazwa w
kasprintf() argumentuje i kończy pierwszy przebieg formatowania.
2. Podczas gdy formatyzator jest opóźniony przed drugim przebiegiem,
af_rxrpc_exit() wywołuje unregister_key_type(), która usuwa typ
z rejestru i czeka na key_gc_keytype().
3. Kolekcjoner pobiera klucz->sem do zapisu, przepisuje zachowany klucz
do key_type_dead i kończy emeryturę. Wyrejestrowanie i moduł
zakończ return, umożliwiając free_module() zwolnienie typu i nazwy.
4. Formatyzator wznawia drugi przebieg i odczytuje zapisaną nazwę
zwolniono pamięć modułu, która może powodować błąd w funkcji string().

Przytrzymaj klawisz->sem, aby odczytać kasprintf(). Kolekcjoner nie może wtedy
wpisz ponownie klucz lub całkowicie wycofaj się, aż oba przebiegi formatowania zostaną zakończone
skończony. Jeśli emerytura wygra blokadę jako pierwsza, formatowanie wykorzystuje rdzeń
zamiast tego key_type_dead name. Natychmiast po tym zwolnij semafor
kasprintf(), także w przypadku niepowodzenia alokacji, przed kopiowaniem do
przestrzeń użytkownika.

Ups, raport jak poniżej:

BŁĄD: nie można obsłużyć błędu strony dla adresu: ffffbfff8054794
#PF: dostęp do odczytu nadzorcy w trybie jądra
#PF: kod_błędu(0x0000) - nie ma strony
RIP: 0010: ciąg + 0x23f/0x470
Zadzwoń do śledzenia:
vsnprintf+0x330/0x1110

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