PocketMine-MP vulnerable to server crash using badly formatted sign NBT in BlockActorDataPacket
Key facts
- Attack vector
- —
- Privileges required
- —
- User interaction
- —
- Attack complexity
- —
- Impact type
- —
- Confidentiality · integrity · availability
- —
- Fix status
- Fixed
No CVSS vector from any source. Fix status from GitHub.
Summary
### Summary A player sending a packet can cause the server to crash by providing incorrect sign data in NBT in `BlockActorDataPacket`. ### Details This vulnerability was discovered using the `BlockActorDataPacket`, but other packets may also be affected. The player would seem to just need to send an NBT with an incorrect type to throw this error. ``` [Server thread/CRITICAL]: pocketmine\nbt\UnexpectedTagTypeException: "Expected a tag of type pocketmine\nbt\tag\CompoundTag, got pocketmine\nbt\tag\ByteTag" (EXCEPTION) in "pmsrc/vendor/pocketmine/nbt/src/tag/CompoundTag" at line 107 --- Stack trace --- #0 pmsrc/src/network/mcpe/handler/InGamePacketHandler(751): pocketmine\nbt\tag\CompoundTag->getCompoundTag(string[9] FrontText) #1 pmsrc/vendor/pocketmine/bedrock-protocol/src/BlockActorDataPacket(50): pocketmine\network\mcpe\handler\InGamePacketHandler->handleBlockActorData(object pocketmine\network\mcpe\protocol\BlockActorDataPacket#220241) #2 pmsrc/src/network/mcpe/NetworkSession(433): pocketmine\network\mcpe\protocol\BlockActorDataPacket->handle(object pocketmine\network\mcpe\handler\InGamePacketHandler#190572) ``` ### PoC Use a bot or proxy to send a packet when editing a sign. This packet should contain an NBT with incorrect types but correct architecture. ### Impact This makes it possible to shutdown a server for someone who knows how to operate it. As this was discovered in 4.22.1, everyone with at least this version is affected. ### Patches This bug was fixed by 0c250a2ef09627b48aa52302f6cc7e1f2afb70ea in the 4.22.3 and 5.2.1 releases. ### Workarounds A plugin may be able to handle `DataPacketReceiveEvent` for `BlockActorDataPacket`, and verify that the `FrontText` tag is a `TAG_Compound`.
Why it matters now
SSVC decision points
Not available: CISA has not published SSVC decision points for this record.
Affected products
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| — | pocketmine/pocketmine-mp (Packagist) | 4.20.0 to before 4.22.3 | 4.22.3 | Patch available | GHSA-7wrv-6h42-w54f |
| — | pocketmine/pocketmine-mp (Packagist) | 5.0.0 to before 5.2.1 | 5.2.1 | Patch available | GHSA-7wrv-6h42-w54f |
- pocketmine/pocketmine-mp (Packagist) Vendor— Affected 4.20.0 to before 4.22.3 Fixed in 4.22.3 Patch available GHSA-7wrv-6h42-w54f
- pocketmine/pocketmine-mp (Packagist) Vendor— Affected 5.0.0 to before 5.2.1 Fixed in 5.2.1 Patch available GHSA-7wrv-6h42-w54f
Remediation
- Fix · GHSA-7wrv-6h42-w54f pocketmine/pocketmine-mp (Packagist) Fixed in 4.22.3 Advisory →
- Fix · GHSA-7wrv-6h42-w54f pocketmine/pocketmine-mp (Packagist) Fixed in 5.2.1 Advisory →
Timeline
- 2026-10-03 Threatist record created from GHSA-7wrv-6h42-w54f
References
Sources
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences