TOCTOU-Schwachstelle
Was ist TOCTOU-Schwachstelle?
TOCTOU-SchwachstelleRace Condition zwischen Prüfung und Nutzung, bei der der von einer Sicherheitsentscheidung geprüfte Zustand zwischen Prüfung und Aktion verändert wird.
Eine TOCTOU-Schwachstelle (Time-Of-Check to Time-Of-Use, CWE-367) ist eine spezifische Race Condition, bei der ein Programm eine Eigenschaft einer Ressource prüft (Eigentümer, Rechte, Inhalt) und sie anschließend behandelt, als wäre die Prüfung noch gültig. Kann ein Angreifer die Ressource zwischen den beiden Schritten austauschen – typisch über Symlinks, Renames oder Shared Memory – wird die Prüfung wirkungslos. Klassiker: access() gefolgt von open(); nach erfolgreichem access() ersetzt der Angreifer den Pfad durch einen Symlink auf /etc/shadow. Abwehr: Dateisystem-APIs, die Prüfung und Nutzung kombinieren (openat mit O_NOFOLLOW, fstat), Arbeit mit Filedeskriptoren statt Pfaden, Datei-Locking und strengere Sandbox-Grenzen.
● Beispiele
- 01
Setuid-Programm, das den Datei-Eigentümer mit stat() prüft und danach den Pfad öffnet.
- 02
Container-Ausbruch per TOCTOU auf Bind-Mount-Pfade.
● Häufige Fragen
Was ist TOCTOU-Schwachstelle?
Race Condition zwischen Prüfung und Nutzung, bei der der von einer Sicherheitsentscheidung geprüfte Zustand zwischen Prüfung und Aktion verändert wird. Es gehört zur Kategorie Schwachstellen der Cybersicherheit.
Was bedeutet TOCTOU-Schwachstelle?
Race Condition zwischen Prüfung und Nutzung, bei der der von einer Sicherheitsentscheidung geprüfte Zustand zwischen Prüfung und Aktion verändert wird.
Wie schützt man sich gegen TOCTOU-Schwachstelle?
Schutzmaßnahmen gegen TOCTOU-Schwachstelle kombinieren typischerweise technische Kontrollen und operative Praktiken, wie in der Definition oben beschrieben.
Welche anderen Bezeichnungen gibt es für TOCTOU-Schwachstelle?
Übliche alternative Bezeichnungen: TOCTTOU, Check-then-Use.