From 7d1b33b59ed0bb00bcd3d5e3e4e98032db00e43b Mon Sep 17 00:00:00 2001 From: automated-signal <37887102+automated-signal@users.noreply.github.com> Date: Mon, 1 Jun 2026 08:33:58 -0500 Subject: [PATCH] Improve too-long message body checks Co-authored-by: trevor-signal <131492920+trevor-signal@users.noreply.github.com> --- ts/textsecure/MessageReceiver.preload.ts | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/ts/textsecure/MessageReceiver.preload.ts b/ts/textsecure/MessageReceiver.preload.ts index 0fe86375d7..6126a96e51 100644 --- a/ts/textsecure/MessageReceiver.preload.ts +++ b/ts/textsecure/MessageReceiver.preload.ts @@ -2095,6 +2095,7 @@ export default class MessageReceiver const length = Buffer.byteLength(message.body); this.#removeFromCache(envelope); log.warn(`${logId}: Dropping too-long message. Length: ${length}`); + return; } strictAssert(timestamp, 'Missing sent timestamp'); @@ -2381,6 +2382,13 @@ export default class MessageReceiver 'MessageReceiver.handleEditMesage: received message from PNI' ); + if (message.body && isBodyTooLong(message.body)) { + const length = Buffer.byteLength(message.body); + this.#removeFromCache(envelope); + log.warn(`${logId}: Dropping too-long message. Length: ${length}`); + return; + } + const ev = new MessageEvent( { envelopeId: envelope.id, @@ -2496,6 +2504,7 @@ export default class MessageReceiver const length = Buffer.byteLength(message.body); this.#removeFromCache(envelope); log.warn(`${logId}: Dropping too-long message. Length: ${length}`); + return; } const ev = new MessageEvent( @@ -3160,6 +3169,13 @@ export default class MessageReceiver const message = this.#processDecrypted(envelope, editMessage.dataMessage); + if (message.body && isBodyTooLong(message.body)) { + const length = Buffer.byteLength(message.body); + this.#removeFromCache(envelope); + log.warn(`${logId}: Dropping too-long message. Length: ${length}`); + return; + } + const ev = new SentEvent( { envelopeId: envelope.id,