Unhandled exception when decoding form response JSON
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 team@pmmp.io
Affected software
Click a technology to see all vulnerabilities affecting it.
| Platform | Package | Vulnerable versions | Fixed in |
|---|---|---|---|
| Composer package | pocketmine/pocketmine-mp | >= 4.0.0, < 4.0.7 | 4.0.7 |
References
- CVSS vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H- Weakness (CWE)
-- Platform
- Composer
- Package
pocketmine/pocketmine-mp- Disclosed
- 21.01.2022
- Updated
- 11.10.2026 10:22
Sources and licenses
OSV / GitHub Advisory Database - GHSA-wjfq-88q2-r34j - CC BY 4.0
Vulnerability history: pocketmine/pocketmine-mp
All published vulnerabilities of this package (Composer package), newest first. Shows whether this is a one-off slip or a package that needs watching.
- Total entries
- 30
- First → latest
- 11.2020 04.2026
- Without a fix
- 0
- Exploited in attacks
- 0
Severity breakdown
- High 20
- Medium 8
- Low 2
Disclosures per year
- 2020: 1
- 2021: 1
- 2022: 11
- 2023: 8
- 2024: 2
- 2025: 2
- 2026: 5
-
Unhandled exception when decoding form response JSON this entry
Know which vulnerabilities affect your application
With the DockRay integration and software inventory enabled, DockRay checks reported component versions against known vulnerabilities and notifies you about confirmed matches. Coverage depends on the supported technology and available advisory data.