过去几天, 有关 Windows 版 Telegram 中涉嫌远程代码执行漏洞的谣言在 X 和黑客论坛上流传。虽然其中一些帖子声称这是一个零点击缺陷,但演示所谓的安全警告绕过和 RCE 漏洞的视频清楚地显示有人点击共享媒体来启动 Windows 计算器。Telegram 很快反驳了这些说法,称他们“无法确认此类漏洞的存在”,并且该视频很可能是一个骗局。
然而,第二天,XSS 黑客论坛上分享了一个概念验证漏洞,解释说 Windows 版 Telegram 源代码中的拼写错误可能会被利用来发送 Python.pyzw文件,在单击时绕过安全警告。这导致该文件自动由 Python 执行,而不会像其他可执行文件那样发出来自 Telegram 的警告,并且如果不是拼写错误的话,应该对此文件执行此操作。
POC将 Python 文件伪装成共享视频以及缩略图,可用于诱骗用户点击假视频来观看。在给 BleepingComputer 的一份声明中,Telegram 正确地质疑该错误是零点击缺陷,但确认他们修复了 Windows 版 Telegram 中的“问题”,以防止 Python 脚本在点击时自动启动。BleepingComputer 询问 Telegram 他们如何知道用户的 Windows 设备上安装了哪些软件,因为他们的隐私政策中没有提及此类数据。
Telegram Desktop 客户端会跟踪 与风险文件(例如可执行文件)相关的 文件扩展名列表。当有人在 Telegram 中发送其中一种文件类型,并且用户单击该文件时,Telegram 首先会显示以下安全警告,而不是在 Windows 中的关联程序中自动启动。Telegram 警告中写道:“此文件的扩展名为 .exe。它可能会损害您的计算机。您确定要运行它吗?安装 Windows 版 Python 后,它会将.pyzw文件扩展名与 Python 可执行文件关联起来,从而使 Python 在双击文件时自动执行脚本
.pyzw 扩展名适用于 Python zipapps,它们是 ZIP 存档中包含的独立 Python 程序。Telegram 开发人员意识到这些类型的可执行文件应被视为有风险,并将其添加到可执行文件扩展名列表中。不幸的是,当他们添加扩展名时,他们犯了一个拼写错误,将扩展名输入为“ pywz”,而不是正确拼写的“ pyzw”。因此,当这些文件通过 Telegram 发送并点击时,如果 Python 安装在 Windows 中,它们会自动由 Python 启动。
如果攻击者能够诱骗目标打开文件,这将有效地允许攻击者绕过安全警告并在目标的 Windows 设备上远程执行代码。为了伪装该文件,研究人员设计了使用 Telegram 机器人来发送具有“video/mp4”mime 类型的文件,从而使 Telegram 将文件显示为共享视频。如果用户单击视频来观看,脚本将自动通过 Windows 版 Python 启动。
该错误于 4 月 10 日向 Telegram 报告,他们通过更正“data_document_resolver.cpp”源代码文件中的扩展名拼写来修复该错误。但是,此修复似乎尚未生效,因为当您单击文件启动它时不会出现警告。
相反,Telegram 利用了服务器端修复程序,将 .untrusted 扩展名附加到 pyzw 文件,单击该扩展名后,Windows 将询问您希望使用什么程序来打开它们,而不是在 Python 中自动启动。Telegram 桌面应用程序的未来版本应包含安全警告消息,而不是附加“.untrusted”扩展名,从而为流程添加更多安全性。win系统飞机请使用最新版
win系统飞机请使用最新版