Executive brief
PocketMine-MP is a Minecraft server implementation used to host multiplayer game servers. A race condition allows an attacker to kill a player who is disconnecting and trigger multiple death events, causing inventory items and experience to drop multiple times, enabling item duplication. While the impact is limited to in-game items, this can undermine server economy and gameplay fairness on affected servers.
Technical details
The vulnerability is a race condition in entity state validation (CWE-664: Improper Control of a Resource Through its Lifetime). When a player disconnects or dies, the entity is flagged for despawn but remains in the World entity table. If an attack packet from another client arrives during a narrow timing window, the handler calls World.getEntity() without checking the flagged-for-despawn state, allowing the death handler to execute multiple times. Attack vector is network-based (another player sends attack packets) with high complexity (precise timing required) and no authentication required. An attacker can duplicate items by timing an attack on a disconnecting victim. The vulnerability was patched in version 5.39.2.
Affected products
- PocketMine PocketMine-MP before 5.39.2
Timeline
- 2026-04-04: disclosed
- 2026-05-09: patched: Fixed in version 5.39.2