Ошибка при программировании сложных приложений, в которых процессы не выполняются последовательно в заранее определенном порядке, а меняются местами в зависимости от определенных условий или даже выполняются параллельно. В результате может возникнуть уязвимость, которая проявляется только при тех параметрах работы, которые заставляют два или более процессов конкурировать между собой. Такой баг трудно обнаружить, однако им могут воспользоваться злоумышленники.
Среди экспертов ошибку состояния гонки называют также «неопределенностью параллелизма».