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.
The problem has been addressed in 3baa5ab71214f96e6e7ab12cb9beef08118473b5 by removing the workaround code.
Plugins could cancel DataPacketReceiveEvent for this packet, decode the data their way, and then call Player->onFormSubmit() directly, bypassing the vulnerable code.
{
"cwe_ids": [],
"github_reviewed": true,
"github_reviewed_at": "2023-01-10T00:41:43Z",
"nvd_published_at": null,
"severity": "MODERATE"
}