GitHub Advisoryadvisory · Packagist

GHSA-wjfq-88q2-r34j Unhandled exception when decoding form response JSON

HIGH Published 2022-01-21 Modified 2025-12-26 Official page ↗
Ecosystem
Packagist
Packages
pocketmine/pocketmine-mp
Severity
High
CVSS vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Reviewed
2022-01-21

Affected packages

• Packagist pocketmine/pocketmine-mp: >= 4.0.0, < 4.0.7 → fixed in 4.0.7

Description

Impact When handling form responses from the client (`ModalFormResponsePacket`), the Minecraft Windows client may send weird JSON that `json_decode()` can't understand. A workaround for this is implemented in `InGamePacketHandler::stupid_json_decode()`. An `InvalidArgumentException` is thrown by this function when it fails to fix an error found in the JSON, which is not caught by the caller. This leads to a server crash. Patches 56fe71d939c38fe14e18a31a673a9331bcc0e4ca Workarounds A plugin may handle `DataPacketReceiveEvent`, capture `ModalFormResponsePacket` and run the provided JSON through `stupid_json_decode`. Note that this requires copying the body of the function to a plugin, since the function is currently private. For more information If you have any questions or comments about this advisory: • Email us at [email protected]

References