Odebrany

CVE-2026-99016

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

riscv: futex: usuń oznaczenie wskaźnika użytkownika przed dostępem atomowym

access_ok() sprawdza untagged_addr(uaddr), ale arch_futex_atomic_op_inuser()
i futex_atomic_cmpxchg_inatomic() przekazują surowy uaddr do wbudowanego asm
amoswap/amoadd/.../lr.w+sc.w poprzez operand "+m" (*uaddr). Kiedy
otagowany adres ABI jest włączony (CONFIG_RISCV_ISA_SUPM, prctl
PR_SET_TAGGED_ADDR_CTRL z PMLEN != 0), te dwa adresy różnią się: a
wskaźnik użytkownika, którego górne bity PMLEN zawierają znacznik, przekazuje dalej funkcję access_ok().
odtagowanie, ale następnie operacja atomowa jest wykonywana na wciąż oznaczonym surowcu
adres.

Dostęp do danych w trybie nadzorcy nie podlega wskaźnikowi trybu U
maskowanie (zarządzane przez menvcfg.PMM, którego jądro nie ustawia),
więc sprzęt nie usuwa znacznika dla własnego dostępu jądra. Z
Sv57 i PMLEN=16 bity znacznika nakładają się na bity adresu kanonicznego, więc
oznaczony wskaźnik może nazwać kanoniczny adres wirtualny jądra (np
mapa liniowa), której nieoznaczona forma jest prawidłowym adresem użytkownika. Nieuprzywilejowany
proces może w ten sposób sprawić, że FUTEX_WAKE_OP wykona atomowy odczyt-modyfikację-zapis
dowolny adres jądra z pasującym wynikiem FUTEX_OP_CMP_*
służąc jako wyrocznia odczytowa.

get_user()/put_user()/raw_copy_{to,from}_user() już odtagowuje wskaźnik
po sprawdzeniu access_ok(); zrób to samo w pomocnikach futex, więc
atomic działa na adresie, który został faktycznie zweryfikowany.

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