Kick exploits: Difference between revisions

From Kaboom Wiki
Troll ing (talk | contribs)
Serverside: Moving some info from filtering into this article, may need some expanding though
This was a mess mate
 
(10 intermediate revisions by 2 users not shown)
Line 1: Line 1:
{{Stub}}
{{Stub}}


'''Kick exploits''' are [[Wikipedia:Exploit (computer security)|exploits]] that can be abused to make an unpatched client disconnect itself or force the server to disconnect a player.
'''Kick exploits''' are [[Wikipedia:Exploit (computer security)|exploits]] in the [https://minecraft.wiki/w/Java_Edition_protocol Java Edition protocol] implementation or game logic implementation that can be abused to disconnect a client from the server.


=Serverside=
==Serverside==
==Vanilla Kick Exploits==
Vanilla kick exploits work by forcing the server to send a large amount of data to the client, causing the server to disconnect the player as a result.


==ViaVersion Kick Exploits==
Serverside kicks force the server to disconnect a client.
ViaVersion kick exploits work by abusing a bug in the ViaVersion plugin to disconnect the player. These exploits only work on players who are on a different version than the server.


=Clientside=
===Oversized packets===
Oversized packets are achieved by making the server generate a packet that is too large for it to encode, resulting in the server disconnecting the player.
 
Such exploits have since been largely patched by [[PaperMixins]]<ref>See commits:
* {{cite web|title=6cb2e2e fix: ignore serialization failure for specific packets|url=https://github.com/kaboomserver/papermixins/commit/6cb2e2eb5931878a08af4d927d674de536b603f1}}
* {{cite web|title=773f1b5 fix: lazy fix|url= https://github.com/kaboomserver/papermixins/commit/773f1b5725c4f7f3282ddc56f02eb4447f797923}}
* {{cite web|title=632aba2 fix: lazy fix, part 2|url=https://github.com/kaboomserver/papermixins/commit/632aba20f6872a5842bfa8aab3077d656eb2134a}}
* {{cite web|title=e4be072 fix: lazy fix, part 3|url=https://github.com/kaboomserver/papermixins/commit/e4be072ae9840465aaf41520a404047eba214d6f}}
* {{cite web|title=e7ee2ca fix: lazy fix, part 4|url=https://github.com/kaboomserver/papermixins/commit/e7ee2ca8331ad7a955f0a6e04be840c3f416323f}}
* {{cite web|title=951a587 fix: lazy fix, part 5|url=https://github.com/kaboomserver/papermixins/commit/951a58745c85b5465f0fb8b255bc4ff62f8b77a7}}
* {{cite web|title=adc8e8b style: remove duplicate space|url=https://github.com/kaboomserver/papermixins/commit/adc8e8bf8a53228ff3ef738b423461751b3731a1}}
* {{cite web|title=097bdef fix: lazy fix|url=https://github.com/kaboomserver/papermixins/commit/097bdef5074ce9c9a39d0be7fe9905eb3f841a6c}}
</ref>.
 
===ViaVersion kick exploits===
ViaVersion kick exploits are occasionally the result of [[ViaVersion#Bugs|ViaVersion bugs]], but are usually caused by [[Kick exploits#Oversized packets|oversized packet kicks]].
 
==Clientside==
 
Clientside exploits cause unpatched clients to disconnect from the server.
 
===Long commands in command blocks===
 
When a client opens a command block that contains a large command inside, and attempts to request a completion for it (always done for legacy commands like <code>/sudo</code>), it can be too large for the server to accept and the server will kick the player.
 
==References==
<references />
 
[[Category:Exploits]]

Latest revision as of 06:03, 12 August 2026

Kick exploits are exploits in the Java Edition protocol implementation or game logic implementation that can be abused to disconnect a client from the server.

Serverside[edit]

Serverside kicks force the server to disconnect a client.

Oversized packets[edit]

Oversized packets are achieved by making the server generate a packet that is too large for it to encode, resulting in the server disconnecting the player.

Such exploits have since been largely patched by PaperMixins[1].

ViaVersion kick exploits[edit]

ViaVersion kick exploits are occasionally the result of ViaVersion bugs, but are usually caused by oversized packet kicks.

Clientside[edit]

Clientside exploits cause unpatched clients to disconnect from the server.

Long commands in command blocks[edit]

When a client opens a command block that contains a large command inside, and attempts to request a completion for it (always done for legacy commands like /sudo), it can be too large for the server to accept and the server will kick the player.

References[edit]