Telegram Desktop(官方 Telegram 桌面客户端)中存在一个漏洞 (CVE-2026-107181),其详细信息和利用方法已被披露。该问题由进程间通信 (IPC) 命令中未转义的分隔符处理不当引起。攻击者可以利用此漏洞,通过点击共享链接将受害者系统中的任何文件传输给攻击者,包括包含会话密钥的文件,这些密钥可用于劫持 Telegram 帐户。该漏洞已在 Telegram Desktop 7.2.9 版本中修复。
点击“tg://”链接时,操作系统会启动与该链接类型关联的 Telegram 桌面应用程序。如果系统上已经运行着另一个 Telegram 应用程序实例,则正在运行的进程会通过 IPC 接口使用套接字将链接传递给它。问题在于,如果在链接参数中包含“;”字符(例如,“tg://x?a=1;OPEN…”),则链接内容会被分割,并且“;”字符后面的部分会被视为单独的命令进行处理。
该攻击利用 OPEN 命令以及“interpret:”URI 方案,旨在通过进程间通信 (IPC) 启动服务脚本,这些脚本用于自动将新版本推送至频道。脚本是一个预定义的本地文件,其中指定要发送到频道的文件以及频道 ID。脚本的文件路径相对于服务子目录进行处理,但由于文件路径缺少“../”的去除,攻击者可以访问存储在根目录之外的文件。例如,他们可以将文件上传到 Telegram 群组,然后通过创建如下链接将其作为脚本引用:
tg://x?a=1;OPEN:interpret:../../../Downloads/Telegram%20Desktop/instructions.txt
攻击的各个阶段:
- 攻击者将受害者添加到自己的群组(默认设置下,添加受害者无需被添加者确认),并向该群组发送一个包含频道和脚本路径的文本文件。当受害者加入该群组时,Telegram 会将此文件保存到预定义的系统子目录中。
频道:2005234537
file: tdata/D877F783D5D3EF8Cs - 攻击者向受害者发送一个看似无害的链接,指向他们的主机(例如,“https://coolsite.org”),当受害者通过重定向打开该链接时,会跳转到其他网站。 服务器 攻击者的 URI 被替换为 'tg://x?a=1;OPEN:interpret:…;OPEN:interpret:…' 形式的 URI。
- 当点击该链接时,浏览器会调用“tg://”URI 处理程序,从而启动上述命令链的执行,导致文件被发送到攻击者的通道,而不会显示任何通知或请求发送确认。
- 攻击者从 tdata 子目录中接收到包含加密密钥和授权密钥的文件,并且由于用户没有设置本地密码,因此攻击者可以在其设备上克隆受害者的连接会话。
来源: opennet.ru
