Linux KDE 4和5号令注入0day缝隙安全公告

颁布功夫 2019-08-08

? 缝隙编号和级别


CVE编号:暂无,危险级别:高危,CVSS分值:官方未评定


? 影响版本


受影响的版本


KDE Frameworks 5.60.0及更低版本


? 缝隙概述


安全钻研员Dominik Penner披露Linux KDE中的一个尚未建复的0day,攻击者可通过诱使用户下载和解压缩恶意.desktop和.directory文件在用户的推算机上静默执行肆意代码,甚至无需用户现实打开该文件。该缝隙影响了KDE版本4和5,险些所有的Linux刊行版都被波及。


KDE4/5易受KDesktopFile 类中一个号令注入缝隙的攻击。当事俘化.desktop 或 .directory 文件时,它以不安全的方式通过 KConfigGruop::readEntry()函数使用 KConfigPrivate::expandString() 评估环境变量和 shell 扩大。通过一个特殊机关的.desktop文件,远程用户在文件治理器中下载并查看文件,或者将链接拖拽到文档或桌面上即可遭攻下。


.desktop和.directory 文件用来配置利用和文件夹的显示方式。.desktop 文件用于在KDE目录中注册利用,而.directory 文件用于注明 KDE 应该若何显示文件夹。对于Windows 用户而言,.directory文件就类似于desktop.ini 文件。每份文件中都有各类字段,奉告桌面环境若何显示目录或利用。其中一个字段是“Icon”,在.desktop 文件中它指定了KDE 应该在目录中展示的图标蹊径,而对于.directory 文件而言,它将指定在 Dolphin 查看文件夹时所使用的图标。


问题在于KDE允许使用shell扩大通过某个环境变量或执行号令的方式动态地天生这些字段的值。由于在Dolphin或从Desktop查看文件时,它们会被自动读取,因而它可导致攻击者机关恶意.desktop和.directory 文件夹,执行位于“Icon”字段中的号令。


? 缝隙验证


Bleeping Computer 在测试中发现极度容易地就能在易受攻击的机械上滥用该缝隙执行代码执行。测试人员创建了蕴含 .directory 文件的子文件夹的 ZIP 文件。这个目录文件的 Icon 字段中蕴含一个从服务器中下载 test.sh 剧本的号令并执行以启动 Kcalc。


宝运莱·(中国区)最新官方网站


用户下载test.zip文件后解压并打开,KDE 就会读取 .directory 文件并执行分配给 Icon 字段的号令。


宝运莱·(中国区)最新官方网站


Penner颁布了缝隙利用代码:https://gist.githubusercontent.com/zeropwn/630832df151029cb8f22d5b6b9efaefb/raw/64aa3d30279acb207f787ce9c135eefd5e52643b/kde-kdesktopfile-command-injection.txt。


? 建复建议


钻研人员在颁布具体信息和PoC缝隙之前没有向KDE开发人员汇报缝隙,KDE社区认可缝隙并向用户保障建复工作在进行中。


Penner建议用户查抄所有.desktop 或 .directory 文件并禁用肆意动态条款。


? 参考链接


https://www.bleepingcomputer.com/news/security/zero-day-bug-in-kde-4-5-executes-commands-by-opening-a-folder/