„`html
Zusammenfassung
CVE-2026-63799 ist eine High-Severity-Schwachstelle im Linux-Kernel, die in der Memory-CID-Verwaltung (sched/mmcid) existiert. Die Vulnerability ermöglicht einen Out-of-Bounds-Schreibzugriff durch fehlerhafte Bit-Operationen auf MM_CID_UNSET-Werte, was zu deterministischer Speicherkorrumpierung führt.
Betroffene Systeme
Betroffen sind Linux-Kernel-Systeme, die die per-CPU-CID-Mode-Implementierung verwenden. Die Schwachstelle tritt auf beim Einsatz von:
- Per-CPU Memory-CID-Verwaltung
- Fork- oder Execve-Operationen mit nachfolgenden CID-Fixup-Prozessen
- Scheduling-Kontextwechseln während des CID-Assignement-Fensters
Technische Details
Die Vulnerability liegt in der mm_cid_fixup_cpus_to_tasks()-Funktion. Das Problem tritt auf, wenn:
- Eine neu erzeugte oder exec’d Task mit
mm_cid.cid == MM_CID_UNSETläuft (CIDs werden lazy assignt) - Die
cid_in_transit()-Prüfung den Sentinel-WertMM_CID_UNSET(BIT(31)) nicht korrekt filtert - Das Transition-Bit auf MM_CID_UNSET gesetzt wird, anstatt diese uninitialisierte CID zu schützen
In mm_cid_schedout() führt dies zur clear_bit(MM_CID_UNSET, mm_cidmask(mm))-Operation mit einem Out-of-Bounds-Zugriff. Da MM_CID_UNSET=31 ist, wird ein deterministischer OOB-Bit-Clear in einem festen 256-MiB-Offset durchgeführt, wodurch ein willkürlich gelegenes Kernel-Objekt beschädigt wird.
Empfohlene Massnahmen
- Kernel-Updates für betroffene Distributionen installieren
- Bestehende Kernel-Versionen mit dem bereitgestellten Patch patchen, der zusätzliche Guards gegen MM_CID_UNSET einführt
- Überwachung auf KASAN-Warnungen im Zusammenhang mit
__scheduleundmm_cid_switch_toimplementieren
Bewertung
CVSS 7.8 (High): Die Vulnerability verursacht echte, begrenzte Speicherkorrumpierung. Obwohl die Schreiboperation nicht beliebig adressierbar ist (fixierter Offset durch Sentinel-Wert), kann dies zu Systeminstabilität und Denial-of-Service führen. Lokaler Zugriff erforderlich.
„`