Telegram桌面版:点一个链接被盗号,IPC注入链窃取本地会话"

admin 2026-10-16 02:23:32 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

Telegram桌面版:点一个链接被盗号,IPC注入链窃取本地会话

红队安全圈
红队安全圈

红队安全圈

2026年10月9日 20:03
重庆

在小说阅读器读本章

去阅读

在公众号小说中沉浸阅读

Telegram Desktop 一个分号不转义的小缺陷,串上一个无鉴权的内部协议和默认自动下载,就成了点一个链接被盗号。三个本地文件等于整个账号,这篇把链路拆到每一环。

01  引言

Telegram Desktop 7.2.9 之前版本存在 IPC 记录分隔符注入漏洞(CVE-2026-107181,CVSS 8.1):点击一个链接,攻击者即可窃取本地 tdata 会话密钥并完全接管账号。利用链是两个缺陷叠加——单实例 socket 传输时不转义分号分隔符,加上一个无鉴权的内部 interpret: 协议可以直接读任意文件发到指定频道。攻击全程只需受害者点一次链接,且自动下载帮攻击者把指令文件提前放到了可预测路径上。

02  漏洞速览

漏洞编号CVE-2026-107181

影响产品Telegram Desktop 7.2.9 之前所有版本

漏洞类型IPC 分隔符注入 + 缺失鉴权(CWE-143)

危害等级CVSS 8.1 High

是否在野无在野利用报告,完整利用链已公开

公开 PoC有,已完整复现到账号接管

攻击前提点一个外部链接,Telegram 正在运行

03  漏洞成因

第一层缺陷在单实例机制。tg:// 链接由操作系统交给 Telegram,如果 Telegram 已经在运行,新起的进程会把链接序列化成文本、写到本地 socket 交给老实例处理。格式是自定义的:关键字加参数加分号结尾,比如 OPEN:tg://x?a=1;

问题在于序列化时不转义分号。链接本身带分号(在 URL 参数里完全合法),老实例按分号切割就得到了多条指令——一条链接变成了两条命令。这就是记录分隔符注入,教科书级的序列化边界失守。

第二层缺陷是注入能摸到的东西。解析代码翻出一个内部协议 interpret:,它是 Telegram 官方发版脚本用的:读一个指令文件,把 file: 指定的文件以 caption: 为说明发送到 channel: 指定的频道。这个功能读任意文件、发到任意频道,全程无确认、无鉴权——InterpretSendPath 函数里连调用者身份检查都没有。从命令行调用时有攻击者已在本机的前提所以无害,但注入让它变成了链接可触达的特权动作。危险不在功能本身,在它被暴露给了不可信输入。

04  利用链分析

第一步,攻击者建一个 supergroup 并把受害者拉进去——Telegram 默认隐私设置允许陌生人直接拉群,无需确认。

第二步,往群里发三个指令文件(每个窃取一个目标文件),内容指定接收方为攻击者自己的频道,并省略 from: 行跳过账号校验。关键在于:Telegram 桌面版默认自动下载群里的文件(上限 8MiB),受害者打开群时文件就落盘了,不需要点文件。保存路径完全可预测:用户目录下 Downloads\Telegram Desktop\。

第三步,在群里发一个普通的 https 链接。第四步,受害者点击。Telegram 外部的 https 链接走系统浏览器,攻击者服务器 302 重定向到构造好的 tg:// 链接——注意,tg:// 链接在 Telegram 聊天内点击是进程内处理、不经过 socket,所以必须从外部跳转进来。

第五步,系统拉起新 Telegram 进程,把链接传给运行中的实例。分号切割,注入触发,三条 interpret: 命令依次执行。第六步,三个文件上传到攻击者频道,无任何确认弹窗。

第七步,攻击者用三个文件重建 tdata,启动 Telegram——受害者账号直接打开。

被偷的三件套:key\_datas(盐和加密的 DEK)、D877F783D5D3EF8Cs(MTProto 授权密钥)、maps(索引)。目录名由默认字符串派生,所有安装都一样。Telegram 默认不设本地 passcode,派生密钥的密码是空串,盐就明文存在 key\_datas 里——拿到文件就能解开 DEK,解开 DEK 就能解出会话授权。这三个文件等于账号本身,效果等同网站的会话 cookie 被偷。

05  检测与排查

1. 确认 Telegram Desktop 版本,低于 7.2.9 立即升级。

2. 检查自己拥有的频道和群里有没有来历不明的文件转发——攻击者可能用你的身份继续投毒。

3. 检查会话列表有没有陌生设备的活跃会话,可疑的直接终止。

4. 应急处理:改密码并终止全部其他会话,偷走的 tdata 在会话终止后即失效。

06  修复建议

升级到 7.2.9 或更高版本,这是唯一根治方案。修复提交做了四件事:整个移除 interpret: 协议和 InterpretSendPath 函数;socket 传输时对分隔符做百分号十六进制转义;同一连接出现 OPEN: 时跳过 CMD 和 CTRL 记录;出现非本地 URL 后丢弃本地文件路径。后两条是纵深防御。

升级前的临时缓解(按有效性排序):开启每次下载询问保存位置(切断自动下载,指令文件落不了盘);把谁可以把我拉进群设为仅联系人(拿掉攻击者的文件投递通道);设置本地 passcode 并当成真密码用(文件被偷也解不开会话)。

07  红队视角

这个链的精髓不在任何一个单独的洞,而在组装:分号不转义是小问题,无鉴权的内部协议是历史遗留,自动下载到可预测路径是默认配置——每一环单独看都不严重,串起来就是一键盗号。真实红队工作里,这种缺陷组合拳才是常态,单点扫描工具永远扫不出来。

值得注意的是处置方式:研究者 6 月 25 日通过 ZDI 报告,9 月 16 日官方修复,9 月 17 日发版——但 7.2.9 的更新日志只提了一个渲染修复,没有任何安全公告。这个漏洞 10 月 7 日才拿到 CVE 编号,中间近一个月,全球大量用户在毫无感知的状态下暴露在一键盗号风险里。对用户端,这类 IM 桌面端的升级不能等公告,版本落后就该更。

对防守方的启示:任何把结构化数据序列化后跨信任边界传输的场景(单实例 socket、本地 IPC、深链处理),分隔符转义和接收端鉴权要作为默认审查项。interpret: 这种开发者给自己留的便利功能是绝佳的攻击面放大器,代码审计时对无鉴权的特权内部接口应该零容忍。

08  POC 链接

https://beaksec.github.io/posts/telegram-desktop-one-click-account-takeover/

https://github.com/telegramdesktop/tdesktop/commit/db3405699f8fc3ae28a58d2348b7d13a43c0590a

说明:研究者完整技术分析(含利用链与时间线)与官方修复提交。

如果文章对您有收获,欢迎关注、点赞、推荐、转发。

— END —


企业数据泄露事故频发,企业信息安全建设刻不容缓" 网络安全文章

企业数据泄露事故频发,企业信息安全建设刻不容缓"

本文以Equifax数据泄露事件为例,强调企业信息安全建设的重要性,并介绍《企业信息安全体系建设之道》一书。该书围绕安全基础、安全管理、安全技术和安全运营四部分,系统阐述企业信息安全体系的设计与实践,涵盖零信任、DevSecOps等新理念,为企业提供体系化建设指导。,安全建设,安全意识
阿里开源AI代码审查工具open-code-review来了!截至2026年10月,44K+Star免费使用" 网络安全文章

阿里开源AI代码审查工具open-code-review来了!截至2026年10月,44K+Star免费使用"

本文介绍阿里开源AI代码审查工具open-code-review,前身为阿里内部AI代码审查助手,已服务数万开发者并识别数百万代码缺陷。工具读取Gitdiff并通过Agent将变更文件发送至可配置LLM生成行级精度的结构化审查意见,支持diff审查和全量文件扫描。文章详细说明了环境配置、大模型临时及永久配置方案,并演示了审查命令及使用流程。该工具免费使用,截至2026年10月已获44K+Star。
15家同台,360再拿第一!获IDC大模型安全最高评级" 网络安全文章

15家同台,360再拿第一!获IDC大模型安全最高评级"

360数字安全集团在IDC发布的中国大模型应用防火墙技术评估中获最高评级,总星级位列15家参评厂商第一。其大模型卫士防护系统以以模治模、以测促防为核心理念,将防护从内容安全延伸至行为安全,通过三维一体安全逻辑管控智能体风险,支持私有化部署,为AI进入企业核心业务提供安全保障。
评论:0   参与:  0