From 7a63c1ba58eb2fb5a5f3763afa0f3f74298765c7 Mon Sep 17 00:00:00 2001 From: Maxim Smirnov Date: Fri, 24 Nov 2017 21:28:48 +0300 Subject: [PATCH] Update mtproto_sender.py #453 --- telethon/network/mtproto_sender.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/telethon/network/mtproto_sender.py b/telethon/network/mtproto_sender.py index b4483903..400ea6cf 100644 --- a/telethon/network/mtproto_sender.py +++ b/telethon/network/mtproto_sender.py @@ -6,7 +6,7 @@ from .. import helpers as utils from ..crypto import AES from ..errors import ( BadMessageError, InvalidChecksumError, BrokenAuthKeyError, - rpc_message_to_error + rpc_message_to_error, SecurityError ) from ..extensions import BinaryReader from ..tl import TLMessage, MessageContainer, GzipPacked @@ -158,6 +158,8 @@ class MtProtoSender: msg_key = reader.read(16) key, iv = utils.calc_key(self.session.auth_key.key, msg_key, False) + if reader.read(len(body) - reader.tell_position()) % 16 != 0: + raise SecurityError('AES block size missmatch') plain_text = AES.decrypt_ige( reader.read(len(body) - reader.tell_position()), key, iv)