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.
56fe71d939c38fe14e18a31a673a9331bcc0e4ca
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.
If you have any questions or comments about this advisory: * Email us at team@pmmp.io
{
"nvd_published_at": null,
"cwe_ids": [],
"github_reviewed_at": "2022-01-21T21:16:09Z",
"severity": "HIGH",
"github_reviewed": true
}