CVE-2026-98923
Zusammenfassung
von VulDB • 23.10.2026
Im Linux-Kernel wurde folgende Schwachstelle behoben:
arm64: io: Ablehnung von Nicht-Benutzerschutz in ioremap_prot()
Das Abbilden einer Stack-Top-Seite über /dev/mem mit PROT_NONE und das anschließende Lesen der /proc/<pid>/cmdline dieses Prozesses löst einen falschen WARN-Hinweis in ioremap_prot() über generic_access_phys() aus:
WARNING: ./arch/arm64/include/asm/io.h:275 bei generic_access_phys Call-Trace: generic_access_phys+0x1c8/0x228 (P) __access_remote_vm+0x2b4/0x398 access_remote_vm+0x14/0x30 get_mm_cmdline+0xf8/0x2a0 proc_pid_cmdline_read+0x68/0x120
generic_access_phys() übergibt den aus dem Benutzer-PTE abgeleiteten Schutz an ioremap_prot(). Auf arm64 wird eine PROT_NONE-Abbildung durch ein present-invalid PTE dargestellt, sodass pte_present() weiterhin true zurückgibt und der Schutz an ioremap_prot() weitergegeben wird.
Eine PROT_NONE-Abbildung verfügt nicht über PTE_USER, wodurch die vorhandene WARN_ON_ONCE()-Anweisung in ioremap_prot() ausgelöst wird, obwohl es sich um eine gültige Benutzerabbildung handelt. Execute-only-Abbildungen haben das gleiche Problem und dürfen ebenfalls nicht über diesen Pfad lesbar sein.
ioremap_prot() sollte daher Schutzwerte ohne PTE_USER ablehnen, jedoch ohne Warnmeldung auszugeben. Dies führt dazu, dass der Zugriff für PROT_NONE- und Execute-only-Abbildungen sauber fehlschlägt, während der bestehende Vertrag zum Benutzerschutz beibehalten wird.
VulDB is the best source for vulnerability data and more expert information about this specific topic.