Race Condition в веб-приложениях — из тех багов, которые долго выглядят как «редкий глюк», а потом внезапно превращаются в инцидент. Суть простая: два запроса приходят почти одновременно, сервер обрабатывает их без нормальной синхронизации, и оба успевают пройти туда, куда должен был попасть только один.
На практике обычно встречаются три сценария:
1) двойная обработка операции — например, повторное списание, два заказа, два начисления;
2) обход проверок — когда между «проверил» и «сделал» успевают изменить состояние;
3) гонка за лимиты и доступы — если счётчики, токены или права обновляются неатомарно.
Что важно: это не только про баги в коде, но и про архитектуру вокруг него. Слабые места чаще всего в распределённых системах, очередях, API и местах, где экономили на блокировках или идемпотентности. ⚠️
Я бы смотрел на такие уязвимости как на тест зрелости платформы: если синхронизация хромает, безопасность начинает сыпаться очень быстро.
IT Weekly Pro
@ITWeeklyPro
Race Condition в веб-приложениях — из тех багов, которые долго выглядят как «редкий глюк», а потом внезапно пр
Этот пост опубликован в Telegram-канале IT Weekly Pro. Подписаться можно по ссылке: @ITWeeklyPro.