VDB
Sign up
HIGH7.5

GHSA-xc7j-wj36-qjfr

PocketMine-MP BookEditPacket crash when inventory slot in the packet is invalid

Quick fix

GHSA-xc7j-wj36-qjfr — pocketmine/pocketmine-mp: upgrade to the fixed version with the command below.

composer require pocketmine/pocketmine-mp:^5.11.2

Details

### Summary If a client sends a BookEditPacket with InventorySlot greater than 35, the server will crash due to an unhandled exception thrown by `BaseInventory->getItem()`.

### Details Crashes at https://github.com/pmmp/PocketMine-MP/blob/b744e09352a714d89220719ab6948a010ac636fc/src/network/mcpe/handler/InGamePacketHandler.php#L873

### PoC Using Gophertunnel, use `serverConn.WritePacket(&packet.BookEdit{InventorySlot: 36})`

### Impact Server crash, all servers

### Patched versions This issue was fixed by 47f011966092f275cc1b11f8de635e89fd9651a7, and the fix was released in 5.11.2.

Are you affected?

Enter the version of the package you're using.

Affected packages

Packagist/pocketmine/pocketmine-mp
Introduced in: 0Fixed in: 5.11.2
Fixcomposer require pocketmine/pocketmine-mp:^5.11.2

References