CyberGlossary

Schwachstellen

TOCTOU-Schwachstelle

Auch bekannt als: TOCTTOU, Check-then-Use

Definition

Race 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

  • Setuid-Programm, das den Datei-Eigentümer mit stat() prüft und danach den Pfad öffnet.
  • Container-Ausbruch per TOCTOU auf Bind-Mount-Pfade.

Verwandte Begriffe