Executive brief
PocketMine-MP is a popular PHP-based Minecraft server software. The vulnerability allows unauthenticated attackers to crash the server by sending malformed JSON packets during the login phase, causing a denial of service. Server administrators will experience unexpected downtime and service unavailability.
Technical details
The vulnerability is a denial of service caused by improper null value handling in the JsonMapper library used to parse LoginPacket JSON data. When a malformed LoginPacket containing unexpected NULL elements in JSON arrays is received, the JsonMapper library (due to its bStrictNullTypes validation bypass) allows NULL values in arrays that don't expect them, causing downstream code to crash. The vulnerability requires no authentication or user interaction and is reachable over the network from any unauthenticated client. Attackers can repeatedly send malformed packets to repeatedly crash the server. PocketMine-MP versions before 5.3.1 and 4.23.0 are affected; patches were released that update the bundled JsonMapper library to include proper validation.
Affected products
- PocketMine-MP PocketMine-MP before 5.3.1 and before 4.23.1
Timeline
- 2023-09-13: disclosed
- 2023-09-13: patched: Patched in versions 5.3.1 and 4.23.1