From a6d97e28adb1b0cd6464bab78ed4e2c14835868f Mon Sep 17 00:00:00 2001 From: Shane Freeder Date: Mon, 13 Apr 2026 13:39:57 +0100 Subject: [PATCH] Validate compression claim --- .../proxy/protocol/netty/MinecraftCompressDecoder.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/proxy/src/main/java/com/velocitypowered/proxy/protocol/netty/MinecraftCompressDecoder.java b/proxy/src/main/java/com/velocitypowered/proxy/protocol/netty/MinecraftCompressDecoder.java index 59cb00ea2..90b747b05 100644 --- a/proxy/src/main/java/com/velocitypowered/proxy/protocol/netty/MinecraftCompressDecoder.java +++ b/proxy/src/main/java/com/velocitypowered/proxy/protocol/netty/MinecraftCompressDecoder.java @@ -97,6 +97,8 @@ public class MinecraftCompressDecoder extends MessageToMessageDecoder { ByteBuf uncompressed = preferredBuffer(ctx.alloc(), compressor, claimedUncompressedSize); try { compressor.inflate(compatibleIn, uncompressed, claimedUncompressedSize); + checkFrame(uncompressed.writerIndex() == claimedUncompressedSize, + "Decompressed size %s does not match claimed uncompressed size %s", uncompressed.writerIndex(), claimedUncompressedSize); out.add(uncompressed); } catch (Exception e) { uncompressed.release();