Cloudflare отчиталась об устранении уязвимости изоляции данных в облачной платформе Workers AI. Из-за комбинации ошибки конфигурации и бага в опенсорсном инференс-движке SGLang модель GLM-5.3 в ряде случаев возвращала пользователям фрагменты сессий других клиентов, об этом сообщается в блоге компании.
Проблему 8 сентября 2026 года обнаружил исследователь безопасности Гади Эврон из Knostic через программу HackerOne. По данным аудита Cloudflare, утечка затронула 155 ответов, сгенерированных в период с 27 августа по 9 сентября. Все инциденты происходили исключительно при отправке промптов длиннее 681 280 токенов. Признаков целенаправленной атаки или намеренной эксплуатации компания не зафиксировала — обращения соответствовали обычной работе пользователей со сверхдлинным контекстом.
Схема взаимодействия prefill и decode нод в SGLang и механизм утечки KV-кэша
Сбой произошел из-за несоответствия параметров в архитектуре с разделением фаз prefill и decode. Инженеры выставили контекстное окно модели в 1 048 576 токенов, однако пул KV-кэша на GPU для этапа предварительного заполнения (prefill) вмещал лишь 681 280 токенов. При превышении лимита SGLang внутренне помечал запрос как отклоненный, заменял его однотокеновой заглушкой, но вместо аварийного завершения передавал сгенерированный кэш на decode-ноду.
Узел декодирования получал сигнал об успешной передаче и предполагал, что память полностью перезаписана новым запросом. На практике большая часть старого состояния оставалась нетронутой: модель генерировала ответ, обращаясь к страницам кэша, в которых все еще хранились данные предыдущих пользователей.
Cloudflare вывела модель из эксплуатации в течение 40 минут после подтверждения бага. В ходе исправления пул KV-кэша расширили до 2,04 млн токенов, исключив переполнение при валидных запросах, а в сам движок SGLang внесли патч, который принудительно обрывает сессию с ошибкой клиента вместо продолжения генерации по устаревшему кэшу.





Комментарии и обсуждение
Пока нет комментариев. Будьте первым!