KDE存在一个易于被利用的 0day 漏洞 影响广泛
- 2019-08-08 7:49:17
- 1,443 次阅读
- 0
安全研究员 Dominik Penner 披露了 Linux KDE 桌面环境上存在的一个 0day 漏洞。根据 Dominik 的说法,此漏洞存在于 KDE v4 与 v5 版本中,该漏洞使得嵌入在 .desktop 和 .directory 文件中的命令在打开文件夹或者将压缩文件夹提取到桌面时即可执行,目前几乎所有 Linux 发行版都在使用易受攻击的 KDE 版本。
.desktop 和 .directory 文件是符合 freedesktop.org 标准的桌面环境使用的配置文件,它们用于配置应用和文件夹的显示方式。.desktop 文件用于在 KDE 菜单中注册应用程序,而 .directory 文件用于描述 KDE 应如何显示文件夹。
在 BleepingComputer 的采访中,Dominik 解释:“KDE 4/5 容易受到 KDesktopFile 类中的命令注入漏洞的攻击。当实例化 .desktop 或 .directory 文件时,它通过 KConfigGroup::readEntry() 函数使用 KConfigPrivate::expandString() 不安全地评估环境变量和 shell 扩展。使用特制的 .desktop 文件,当用户在文件管理器中下载和查看文件,或者将链接拖放到文档或桌面上,就会被攻击。”
问题主要出在 KDE 允许 Shell 扩展通过环境变量或执行命令动态生成字段的值,“它们使用与 freedesktop 规范相同的语法,但是因为它们也允许 Shell 扩展(freedesktop 不允许这样做),所以这是可利用的。”
如开头 gif 所示,BleepingComputer 做了个简单的测试,可以很直观地了解该漏洞的执行过程。
该测试特别简单,测试者创建了一个 ZIP 文件,其中包含了一个带有 .directory 文件的子文件夹,在该配置文件的 icon 字段中,嵌入了一个启动并执行 kcalc 计算器的 test.sh 脚本。
因为目前无法关闭 KDE 桌面的 Shell 扩展来缓解该问题,所以 Dominik 建议用户检查每一个 .desktop 或 .directory 文件并禁用任何动态条目。
文章评论 (0)