Логотип exploitDog
Консоль
Логотип exploitDog

exploitDog

github логотип

GHSA-5jfw-35xp-5m42

Опубликовано: 05 апр. 2022
Источник: github
Github: Прошло ревью
CVSS3: 7.5

Описание

Buffer length underflow in LoginPacket causing unchecked exceptions to be thrown

Impact

LoginPacket uses BinaryStream->getLInt() to read the lengths of JSON payloads it wants to decode. Unfortunately, BinaryStream->getLInt() returns a signed integer, meaning that a malicious client can craft a packet with a large uint32 value for payload buffer size (which would be interpreted as a negative signed int32), causing BinaryStream->get() to throw an exception.

In the context of PocketMine-MP, this leads to a server crash when the vulnerability is exploited.

Patches

e3fce7632b94e83fd6a518a87dcaf6a11681c4ac

Workarounds

This can be worked around by registering a custom LoginPacket implementation into PacketPool which overrides this code to patch it.

For more information

Пакеты

Наименование

pocketmine/bedrock-protocol

composer
Затронутые версииВерсия исправления

< 8.0.2

8.0.2

7.5 High

CVSS3

Дефекты

CWE-124

7.5 High

CVSS3

Дефекты

CWE-124