⚠️⚠️⚠️⚠️警告⚠️⚠️⚠️⚠️ (http://t.me/Rosmontis_Daily)

Telegram Desktop版本远程代码执行漏洞已被确认

危害程度极高,建议用户根据文章建议关闭自动下载功能

▎情况介绍

・4月9日
一条视频宣称Telegram Desktop客户端有漏洞,能轻松实现远程代码执行恶意攻击

当日,Telegram 称无法确认 Desktop 版本远程代码执行漏洞 (https://twitter.com/telegram/status/1777677055837995151)

・4月12日
笔者发现,Telegram Desktop Github库下一条PR中提到一个Bug (https://github.com/telegramdesktop/tdesktop/pull/27737),能通过某种方式发送pyzw格文件,Telegram会将其识别为视频文件,实现伪装视频效果,且客户端默认设置条件下,会自动下载文件,用户看到后常常会下意识点击执行,攻击生效。

前置条件: Telegram Desktop Windows <=v4.16.6 + 安装Python环境

▎危害示例

点击后会打开CMD,完全没有危害性,感兴趣可以点链接跳转测试范例。

示例1 (https://t.me/Rosmontis_Chat/28956) / 示例2(带封面时长文案) (https://t.me/Rosmontis_Chat/28964)

▎防范方法

0. 不安装Python

1. 出于安全考虑,请禁用自动下载功能。
按照以下步骤操作:
进入设置(Settings) —— 点击“高级(Advanced)” —— 在“自动下载媒体文件(Automatic Media Download")”部分,禁用所有聊天类型(私聊(Private chats)、群组(Groups)和频道(Channels))中 “照片(Photos)”、“视频(Videos)”和“文件(Files)”的自动下载

2. 仔细观察,不要随意点击附件

3. 等待Telegram官方修复后,及时更新客户端至最新版本

 

 

结论:疑似攻击者通过利用错误MIME type实现客户端欺骗。

涉及Telegram中的两个API功能——sendVideo和InputFile。

sendVideo中的video字段支持两种输入方式,“InputFile or String”,

- (String)传递一个文件 ID(以字符串形式)来发送存储在 Telegram 服务器上的视频(推荐做法)
- (String/InputFile)传递一个 HTTP URL(以字符串形式)以便 Telegram 从互联网获取视频
- (InputFile)使用 multipart/form-data 上传一个新视频。

问题出在第二种,InputFile - Sending by URL时,目标资源可以拥有一个自定义的MIME标签,以指示其他Telegram客户端应该以什么方式加载这个资源。

而这些不怀好意的.pyzw文件,(可能由于漏洞)在这里都被指定为了video/mp4,导致其他Telegram客户端将以播放器模式展示这个文件。

响应标头:>图1<
请求方json:
{
"dcId": number,
"location": {
"_": "inputDocumentFileLocation",
"id": "*",
"access_hash": "*",
"file_reference": [
*, *, *, *
]
},
"size": 42,
"mimeType": "video/mp4",
"fileName": "***.pyzw"
}

另外,Telegram Desktop的影片播放方式决定了Telegram Desktop将会把这些较小的视讯资源放置在本地下载目录,然后通过“执行”的方式来加载本地影片至内嵌播放器,这也就是为什么在用户点击这些“假影片”后会自动执行攻击者编写的代码。

 

 

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。