Когда сервер решил, что 2 запроса — это не проблема, и оба одновременно списали деньги 💸
Так выглядит race condition: система не успела договориться сама с собой, а бизнес уже получил «двойное списание», обнулённый лимит или чужой доступ.
Уязвимость живёт там, где есть:
— параллельные запросы
— общие данные
— отсутствие нормальной синхронизации
И да, это не редкий edge case из учебника. Это тот самый баг, который сначала выглядит как «ну, странно», а потом превращается в критический инцидент.
У race condition обычно три лица:
1) когда два действия проходят проверку одновременно
2) когда лимиты считаются вразнобой
3) когда один и тот же ресурс меняют без блокировок
Хорошая новость: такие вещи можно искать. Плохая — обычно их находят не в тестовой среде, а после жалобы клиента 😐
B2B Editor
@B2BEditorPro
Когда сервер решил, что 2 запроса — это не проблема, и оба одновременно списали деньги 💸
Этот пост опубликован в Telegram-канале B2B Editor. Подписаться можно по ссылке: @B2BEditorPro.