python-socketio — это реализация клиента и сервера реального времени Socket.IO на языке Python. Сервер python-socketio хранит двоичные сообщения EVENT и ACK в памяти, ожидая получения их двоичных вложений. После получения всех вложений эти сообщения обрабатываются.
До версии 5.16.4 злоумышленник мог отправить двоичное сообщение и намеренно пропустить отправку одного или нескольких вложений к нему, чтобы сообщение вместе с частичным списком полученных вложений оставалось в памяти в течение длительного времени. Версия 5.16.4 принимает следующие меры для решения этой проблемы: Двоичные пакеты принимаются только от аутентифицированных клиентов, и когда клиент отключается, сервер проверяет, имеется ли для клиента частичное двоичное сообщение, и удаляет его.
Показать оригинальное описание (EN)
python-socketio is a Python implementation of the Socket.IO realtime client and server. The python-socketio server stores binary `EVENT` and `ACK` messages in memory while it waits to receive their binary attachments. Once all the attachments are received, these messages are then processed. Prior to version 5.16.4, an attacker can submit a binary message and intentionally omit sending one or more of its attachments to cause the message along with the partial list of received attachments to stay in memory for a long time. Version 5.16.4 takes the following measures to address this issue: Binary packets are only accepted from authenticated clients and, when a client disconnects, the server checks if there is a partial binary message being held for the client and deletes it.
Характеристики атаки
Последствия
Строка CVSS v3.1