Tab exploit packet abuse can crash servers
The bug
The tab packet can be abused so that it trips the 60s vanilla watchdog to crash the server.
There are two fundamental problems with the tab packet:
- The maximum string input is about 32k characters
- Repeated toLowerCase inside the search logic for each parameter make causing server issues extremely easy with a low number of packets, even if the maximum string input is significantly reduced
Paper limited the maximum string input to 2048 characters and people were still able to abuse the packet at a packet rate significantly lower than the server's packet limiter maximum rate. The only fix that worked was the one I wrote here:
Basically, this can only be fixed by caching the result of toLowerCase (so that the number of calls is significantly reduced per packet) and by limiting the maximum number of characters. I was never able to recover the strings people were using that caused toLowerCase to be so expensive, however the logs indicated that it was obviously a string designed to hit very specific edge cases in toLowerCase that would result in significant slowdowns.
2021-01-14, 09:46 PM
2021-03-24, 06:53 PM
2021-03-24, 06:53 PM
1
3