Odebrany

CVE-2026-89763

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

KLUCZE: zaufane: Napraw kolejność rozłączania modułu TPM

trust_tpm_exit() usuwa odniesienie do układu TPM i zwalnia skrót
array przed wyrejestrowaniem zaufanego typu klucza. key_type_lookup()
przechowuje key_types_sem do odczytu, aż do zakończenia operacji na klawiszu, while
unregister_key_type() przyjmuje go do zapisu. Dlatego zapewnia
punkt synchronizacji, który musi poprzedzać wyłączenie zaplecza.

Obecna kolejność pozwala na to przeplatanie:

Procesor 0 Procesor 1
zaufany_tpm_exit() key_type_lookup("zaufany")
put_device(&chip->dev) trust_tpm_seal()
kfree(trawi) pcrlock()
unregister_key_type() tpm_pcr_extend(..., skróty)

W rezultacie procesor 1 może odwoływać się do tablicy uwolnionych skrótów. Chip może
zostanie również zwolniony, zanim wywołania zwrotne przestaną go używać.

KASAN poinformował:

BŁĄD: KASAN: użycie płyty po zwolnieniu w tpm_pcr_extend+0x1f0/0x200
Odczytaj rozmiar 2 pod adresem ffff88810872d000 w zadaniu poc/89
Zadzwoń do śledzenia:
tpm_pcr_extend+0x1f0/0x200
pcrlock+0x42/0x70 [zaufane]
zaufany_tpm_seal+0x1b6/0x570 [zaufany]
zaufany_instantiate+0x293/0x340 [zaufany]
__key_instantiate_and_link+0xb2/0x2b0
__key_create_or_update+0x61e/0xb50
__do_sys_add_key+0x1b8/0x310
Przydzielone przez zadanie 88:
__kmalloc_noprof+0x1a7/0x490
do_one_initcall+0xa1/0x390
do_init_module+0x2df/0x840
Uwolniony przez zadanie 90:
kfree+0x131/0x3c0
zaufany_tpm_exit+0x59/0xa0 [zaufany]
__do_sys_delete_module+0x346/0x510

Przenieś unregister_key_type() przed zwolnieniem któregokolwiek zasobu. To się zatrzymuje
nowe wyszukiwania i czeka na zakończenie kluczowych operacji w locie przed
stan zaplecza jest zniszczony.

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