CVE-2021-47793CVE-2021-47793是Telegram Desktop 2.9.2版本中存在的一个高危拒绝服务漏洞。该漏洞允许远程攻击者通过发送特制的超大消息负载来导致Telegram桌面应用程序崩溃,从而中断受害者的正常通信服务。漏洞的根本原因在于Telegram Desktop在处理消息输入时缺乏对消息大小的有效限制和验证机制。攻击者可以利用这一漏洞构造一个约900万字节(9MB)的超大消息缓冲区,并将其粘贴到消息输入界面中。当Telegram Desktop尝试解析和渲染该超大消息时,会因为内存分配不当或处理逻辑缺陷而导致应用程序崩溃。此漏洞的利用无需任何认证,也不需要用户进行任何交互,攻击者只需向目标用户发送包含恶意负载的消息即可触发。由于该漏洞影响的是即时通讯软件的可用性,攻击成功后将导致受害者无法正常使用Telegram进行通信,严重影响业务的连续性。
该拒绝服务漏洞存在于Telegram Desktop 2.9.2版本的消息处理模块中。当应用程序接收到超大的消息负载时,其内部的消息解析和渲染逻辑未能正确处理边界情况。攻击者构造的9MB消息数据会导致以下问题:首先,Telegram Desktop在尝试将消息内容加载到内存缓冲区时,可能因为一次性分配过大的连续内存空间而导致内存分配失败或触发系统的内存保护机制。其次,在消息的解析和渲染阶段,应用程序可能存在整数溢出或缓冲区边界检查缺失的问题,使得超大的消息数据在处理过程中覆盖相邻内存区域,破坏程序的关键数据结构。最后,当应用程序尝试渲染该超大消息时,可能因为UI组件无法处理超出预期的数据量而导致异常,最终引发崩溃。由于攻击向量为网络(AV:N),攻击者可以通过Telegram的消息传输协议直接向目标用户发送恶意消息,受害者只需查看或接收该消息即可触发漏洞,无需进行任何额外的交互操作。