From c54c7fd153630875810d76be0a636b355599cdcf Mon Sep 17 00:00:00 2001 From: Paul Schaub Date: Fri, 6 Sep 2024 15:09:36 +0200 Subject: [PATCH] Partial length encoding: Enforce minimum length of the first chunk --- pg/src/main/java/org/bouncycastle/bcpg/BCPGInputStream.java | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/pg/src/main/java/org/bouncycastle/bcpg/BCPGInputStream.java b/pg/src/main/java/org/bouncycastle/bcpg/BCPGInputStream.java index 045ba3b6ba..c0cca6ab57 100644 --- a/pg/src/main/java/org/bouncycastle/bcpg/BCPGInputStream.java +++ b/pg/src/main/java/org/bouncycastle/bcpg/BCPGInputStream.java @@ -205,6 +205,10 @@ public Packet readPacket() boolean[] flags = new boolean[3]; bodyLen = StreamUtil.readBodyLen(this, flags); partial = flags[StreamUtil.flag_partial]; + if (partial && bodyLen < 512) + { + throw new IOException("First chunk of partial body MUST have a length of at least 512 octets."); + } } else {