bk99.de entertain the web since 1997

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

Originalartikel lesen →