CVE-2026-93137
>_ Opis
Tłumaczenie automatyczne – może zawierać nieścisłości.
W jądrze Linuksa usunięto następującą lukę:
bpf: Napraw opcję użycia po zwolnieniu w mm_struct w bpf_find_vma()
bpf_find_vma() czyta zadanie->mm i wywołuje mmap_read_trylock(mm) bez
posiadający odniesienie do mm. W przypadku zadania zagranicznego współbieżne wyjście_mm()
może zwolnić mm_struct między odczytem bez blokady a trylockiem,
co skutkuje darmowym użytkowaniem. mm_struct nie jest SLAB_TYPESAFE_BY_RCU.
Dla bieżącego zadania zadanie->mm jest stabilne. W przypadku zadania zagranicznego przypnij mm
w zadaniu->alloc_lock i zwolnij go za pomocą mmput_async(), zatwierdzenie lustrzane
d8e27d2d22b6 („bpf: napraw cykl życia mm w iteratorze task_vma z otwartym kodem”).
Użyj spin_trylock() zamiast get_task_mm(), aby kontekst BPF nie blokował
na alloc_lock. Odrzuć konteksty z wyłączonym IRQS i !CONFIG_MMU na
ścieżka do zadania obcego, ponieważ usunięcie odniesienia mm nie jest tam bezpieczne.
Wyścig:
CPU0 (program BPF) CPU1 (zakończenie zadania)
============================ ===========================
bpf_find_vma(zadanie_zagraniczne):
mm = zadanie->mm
wyjście_mm():
zadanie->mm = NULL
mmput(mm) -> zwalnia mm_struct
mmap_read_trylock(mm)
// UAF na mm
>_ Referencje
- https://git.kernel.org/stable/c/2b2a903bee56d312539046d9defa8023eec94760
- https://git.kernel.org/stable/c/47b079e2117a2ee52e21f8b72935900c702fc0b5
- https://git.kernel.org/stable/c/86d54cf069fc5ae2e111c87933bebf6eb527978e
- https://git.kernel.org/stable/c/8e1101fc4118019a69c96ced4aec93164f89cbd5
- https://git.kernel.org/stable/c/c7ad910e987008e125eeff448892e86852173384
- https://git.kernel.org/stable/c/db347840d6b6ee9bb9b8e4a985d4b4419f9f3200
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