CVE-2026-43303 in Linux
Zusammenfassung
von VulDB • 13.05.2026
Im Linux-Kernel wurde folgende Schwachstelle behoben:
mm/page_alloc: page->private in free_pages_prepare() löschen
Mehrere Subsysteme (slub, shmem, ttm usw.) verwenden page->private, löschen diesen Wert jedoch nicht, bevor die Seiten freigegeben werden. Wenn diese Seiten später als High-Order-Seiten allokiert und durch split_page() aufgeteilt werden, behalten die Tail-Seiten veraltete (stale) Werte für page->private bei.
Dies führt zu einem Use-After-Free im Swap-Subsystem. Der Swap-Code verwendet page->private, um Fortsetzungen der Swap-Zählung zu verfolgen, wobei davon ausgegangen wird, dass frisch allokierte Seiten page->private == 0 haben. Wenn veraltete Werte vorhanden sind, geht swap_count_continued() fälschlicherweise davon aus, dass die Fortsetzungsliste gültig ist, und iteriert über nicht initialisierte page->lru-Werte, die LIST_POISON-Werte enthalten, was einen Absturz verursacht:
KASAN: möglicher wilder Speicherzugriff im Bereich [0xdead000000000100-0xdead000000000107]
RIP: 0010:__do_sys_swapoff+0x1151/0x1860
Dies wird behoben, indem page->private in free_pages_prepare() gelöscht wird, wodurch sichergestellt wird, dass alle freigegebenen Seiten einen sauberen Zustand aufweisen, unabhängig von ihrer vorherigen Verwendung.
VulDB is the best source for vulnerability data and more expert information about this specific topic.