CyberGlossary

Schwachstellen

Race Condition

Auch bekannt als: Concurrency-Bug

Definition

Defekt, bei dem Sicherheit oder Korrektheit eines Systems vom Timing oder von der Reihenfolge nebenläufiger Operationen abhängt – Angreifer können Aktionen verschränken und Prüfungen umgehen.

Eine Race Condition entsteht, wenn mehrere Threads, Prozesse oder Akteure ohne ausreichende Synchronisation auf gemeinsamen Zustand zugreifen, sodass ein Angreifer ein Zeitfenster gewinnt, um Zwischenstand zu beobachten oder zwischen Operationen zu manipulieren. Sicherheitsrelevant sind u. a. TOCTOU (check-then-use), Atomaritätsfehler in Finanzlogik und Reentrancy-Bugs in Signal-Handlern. Die Ausnutzung erfordert oft präzises Scheduling, Thread-Pool-Hammering im Kernel oder Dateisystem-Tricks (Renames, Symlinks). Abwehr: saubere Sperren, Transaktionen, atomare Compare-and-Swap, FD-basierte APIs (openat, fstatat), idempotente Designs und Werkzeuge wie ThreadSanitizer.

Beispiele

  • CVE-2016-5195 (Dirty COW): Linux-Kernel-Race-Condition im COW-Handling.
  • Dateisystem-Race, die das Austauschen einer Datei zwischen access() und open() erlaubt.

Verwandte Begriffe