
Детали, PoC и патчи для CVE-2022-23884
В официальном сервере Minecraft: Bedrock Edition (также известном как Bedrock Server) есть уязвимости сетевого уровня, которые позволяют атакующему запустить DoS-атаку.
CVE-2022-23884 затрагивает Mojang Bedrock Dedicated Server 1.16.0-1.18.12, вызывая большой цикл и краш сервера из-за PurchaseReceiptPacket::_read (десериализатора пакетов).
CVE-2022-23884 затрагивает Bedrock Server 1.16.0-1.18.12.
Это вызвано PurchaseReceiptPacket::_read (десериализатором пакетов).
//pseudo-code
u32 Num = readUnsignedVarInt();
for ( i = 0; i < (unsigned int)Num; ++i )
{
...
}
Атакующие могут выбрать особое значение Num (например, 0xffffffff). Большие размеры вызовут большой цикл (блокирующий главный поток) и краш сервера.
Отказ от ответственности: PoC-эксплойты предназначены только для проверки того, уязвим ли ваш сервер. Авторы не несут ответственности и не отвечают за любое неправомерное использование или ущерб, причинённый этими программами. Используйте на свой страх и риск.
CVE-2022-23884: python replay.py <IP> <Port> purchase.pkt
Последний Bedrock Server (1.18.12.01) не включает патчи для CVE-2022-23884. Существуют сторонние патчи.
Патч для CVE-2022-23884:
Вы можете перехватить PurchaseReceiptPacket::_read и вернуть false.
(Пакет используется только для партнёрских серверов, поэтому BDS не нужно выполнять никакой обработки — просто верните false)
Этот файл в LiteLoader исправляет CVE-2022-23884.
Обновите LiteLoader до версии 2.0.5 или выше, чтобы исправить эту проблему.