Vim是从vi发展出来的一个文本编辑器。其代码补完、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用。和Emacs并列成为类Unix系统用户最喜欢的编辑器。
当传入特定的恶意输入时,vim会进入到无限的递归循环中,从而导致程序崩溃。漏洞发现者使用Fuzz的方式挖到了这个漏洞。
vim patch < 8.2.4975
无限递归循环
get_expr_register ->
cmdline_handle_backslash_key ->
getcmdline ->
getcmdline_int ->
cmdline_handle_backslash_key ->
get_expr_register ->
etc.
Poc
./vim -u NONE -e -s -S crash_input
crash_input文件从下方获取
https://github.com/GreaterGoodest/vim-pocs/blob/master/crash_input
查看vim的patch版本,确定存在漏洞
成功使vim崩溃,漏洞利用成功
https://huntr.dev/bounties/faa74175-5317-4b71-a363-dfc39094ecbb/
本公众号内的文章及工具仅提供学习用途,由于传播、利用此文所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,本公众号及文章作者不为此承担任何责任。
原文始发于微信公众号(我不是Hacker):Vim无限递归循环漏洞(CVE-2022-1771)
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论