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”字段中的命令。
? 漏洞驗證
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/