Cache-Invalidierung in der Linux-Speicherverwaltung
Zusammenfassung
Jann Horn analysiert CVE-2018-17182, bei der veraltete VMA-Cacheeinträge nach Speicheränderungen einen ausnutzbaren Kernelzustand erzeugten.
Ideen
- Page Faults suchen die zuständige virtuelle Speicherregion.
- Ein per Thread geführter Cache beschleunigt wiederholte VMA-Suchen.
- mremap invalidierte beteiligte Cachezustände nicht vollständig.
- Veraltete Zeiger ermöglichten einen Use-after-free-Angriff im Kernel.
Einsichten
- Cachekorrektheit ist Teil der Sicherheitsgrenze und nicht nur Leistungsdetail.
- Optimierungen vervielfachen Zustände, die jede Änderung konsistent halten muss.
- Kernelkonfiguration kann die praktische Ausnutzbarkeit desselben Fehlers stark verändern.
Fakten
- Der Fehler erhielt die Kennung CVE-2018-17182.
- Betroffen waren Kernel ab Version 3.16.
- Mehrere stabile Kernelreihen erhielten im September 2018 Korrekturen.
Empfehlungen
- Installiere Kernel-Sicherheitsupdates zeitnah und starte danach neu.
- Prüfe Optimierungspfade gezielt auf vollständige Invalidierung.
Referenzen
Der Link zur Originalquelle öffnet einen neuen Tab.