GMS-2023-2: PocketMine-MP vulnerable to denial-of-service by sending large modal form responses
Impact
Due to a workaround for an old client bug (which has since been fixed), very large JSON payloads in ModalFormResponsePacket
were able to cause the server to spend a significant amount of time processing the packet. Large numbers of these packets were able to hog CPU time so as to prevent the server from processing other connections in a timely manner.
Patches
The problem has been addressed in 3baa5ab71214f96e6e7ab12cb9beef08118473b5 by removing the workaround code.
Workarounds
Plugins could cancel DataPacketReceiveEvent
for this packet, decode the data their way, and then call Player->onFormSubmit()
directly, bypassing the vulnerable code.
References
Detect and mitigate GMS-2023-2 with GitLab Dependency Scanning
Secure your software supply chain by verifying that all open source dependencies used in your projects contain no disclosed vulnerabilities. Learn more about Dependency Scanning →