CVE-2025-38084 in Linux
Zusammenfassung
von VulDB • 15.05.2026
Im Linux-Kernel wurde folgende Schwachstelle behoben:
mm/hugetlb: Seitentabellen beim VMA-Split entkoppeln, nicht vorher
Derzeit löst __split_vma() die Entkopplung der hugetlb-Seitentabellen über vm_ops->may_split() aus. Dies geschieht, bevor die VMA-Sperre und die rmap-Sperren angelegt werden – was zu früh ist. Dies ermöglicht es, dass durch konkurrierende, durch VMA-gesperrte Seitenfehler in unserem Prozess und durch konkurrierende rmap-Iterationen aus anderen Prozessen die Seitentabellen erneut geteilt werden, bevor der eigentliche Split durchgeführt wird.
Die Behebung erfolgt durch den expliziten Aufruf der hugetlb-Entkopplungslogik aus __split_vma() an derselben Stelle, an der auch das THP-Splitting stattfindet. Zu diesem Zeitpunkt sind sowohl die VMA als auch die rmap(s) schreibgesperrt.
Ein ärgerliches Detail ist, dass wir nun die Hilfsfunktion hugetlb_unshare_pmds() aus zwei verschiedenen Sperrkontexten heraus aufrufen können:
1. aus hugetlb_split(), unter Halten von: - mmap-Sperre (exklusiv) - VMA-Sperre - Datei-rmap-Sperre (exklusiv) 2. hugetlb_unshare_all_pmds(), von dem ich annehme, dass es so konzipiert ist, uns nur mit gehaltener mmap-Sperre (im Shared-Modus) aufrufen zu können, aber derzeit nur unter Halten der mmap-Sperre (exklusiv) und der VMA-Sperre ausgeführt wird
Hinweis zur Rückportierung: Dieser Commit behebt einen racy Schutz, der in Commit b30c14cd6102 („hugetlb: unshare some PMDs when splitting VMAs“) eingeführt wurde; dieser Commit behauptete, ein in 5.13 eingeführtes Problem zu beheben, sollte jedoch eigentlich bis ganz zurück zurückreichen.
[[email protected]: v2]
VulDB is the best source for vulnerability data and more expert information about this specific topic.