江西数库信息技术有限公司
联系人:阮先生
微信:15960235958
邮箱:rscpass@163.com
手机:15960235958
根据国家信息安全漏洞共享平台于2023年2月19日发布的安全漏洞通知,Linux系统自带的vim编辑器存在两个高危安全漏洞(CNVD-2023-09166、CNVD-2023-09647),攻击者可以利用该漏洞发起拒绝服务攻击,并可能运行(恶意)代码。
下面就在测试环境虚拟机,为大家演示如何升级Linux系统(CentOS 7.9)中的vim组件。
首先,我们在vim的github发布页面找到最新版的源码包(v9.0.1333),这里我们下载.tar.gz的源码包。
根据国家信息安全漏洞共享平台于2023年2月19日发布的安全漏洞通知,Linux系统自带的vim编辑器存在两个高危安全漏洞(CNVD-2023-09166、CNVD-2023-09647),攻击者可以利用该漏洞发起拒绝服务攻击,并可能运行(恶意)代码。
下面就在测试环境虚拟机,为大家演示如何升级Linux系统(CentOS 7.9)中的vim组件。
首先,我们在vim的github发布页面找到最新版的源码包(v9.0.1333),这里我们下载.tar.gz的源码包。
查看系统当前的vim版本
# vim --help VIM - Vi IMproved 7.4 (2013 Aug 10, compiled Dec 15 2020 16:44:08)
安装依赖组件
# yum install gcc gcc-c++ ncurses-devel -y
下载后上传到/usr/loca/src目录下,并解压:
# tar -xzf vim-9.0.1333.tar.gz # cd vim-9.0.1333 # ./configure --prefix=/root # make # make install
安装完成后,会在/root目录下生成一个bin目录,里面有最新编译生成的二进制文件
# cd bin/ # ls -ltr 总用量 3152 -rwxr-xr-x 1 root root 3202096 2月 21 14:37 vim -rwxr-xr-x 1 root root 2154 2月 21 14:37 vimtutor lrwxrwxrwx 1 root root 3 2月 21 14:37 ex -> vim lrwxrwxrwx 1 root root 3 2月 21 14:37 view -> vim lrwxrwxrwx 1 root root 3 2月 21 14:37 rvim -> vim lrwxrwxrwx 1 root root 3 2月 21 14:37 vimdiff -> vim lrwxrwxrwx 1 root root 3 2月 21 14:37 rview -> vim -rwxr-xr-x 1 root root 18864 2月 21 14:37 xxd
备份系统自带的vim组件程序
# cd /usr/bin/ # mv vim vim.20230221 # mv vimtutor vimtutor.20230221 # mv xxd xxd.20230221
用编译文件覆盖/usr/bin目录下的组件
# cd /root/bin # mv * /usr/bin/ mv:是否覆盖"/usr/bin/ex"? y mv:是否覆盖"/usr/bin/rview"? y mv:是否覆盖"/usr/bin/rvim"? y mv:是否覆盖"/usr/bin/view"? y mv:是否覆盖"/usr/bin/vimdiff"? y
再次检查vim的版本
# vim --version VIM - Vi IMproved 9.0 (2022 Jun 28, 编译于 Feb 21 2023 14:26:53) 包含补丁: 1-1333 编译者 root@k8s-master 巨型版本 无图形界面。 可使用(+)与不可使用(-)的功能: +acl +file_in_path +mouse_urxvt -tag_any_white +arabic +find_in_path +mouse_xterm -tcl +autocmd +float +multi_byte +termguicolors +autochdir +folding +multi_lang +terminal -autoservername -footer -mzscheme +terminfo -balloon_eval +fork() +netbeans_intg +termresponse +balloon_eval_term +gettext +num64 +textobjects -browse -hangul_input +packages +textprop ++builtin_terms +iconv +path_extra +timers +byte_offset +insert_expand -perl +title +channel +ipv6 +persistent_undo -toolbar +cindent +job +popupwin +user_commands -clientserver +jumplist +postscript +vartabs -clipboard +keymap +printer +vertsplit +cmdline_compl +lambda +profile +vim9script +cmdline_hist +langmap -python +viminfo +cmdline_info +libcall -python3 +virtualedit +comments +linebreak +quickfix +visual +conceal +lispindent +reltime +visualextra +cryptv +listcmds +rightleft +vreplace +cscope +localmap -ruby +wildignore +cursorbind -lua +scrollbind +wildmenu +cursorshape +menu +signs +windows +dialog_con +mksession +smartindent +writebackup +diff +modify_fname -sodium -X11 +digraphs +mouse -sound -xfontset -dnd -mouseshape +spell -xim -ebcdic +mouse_dec +startuptime -xpm +emacs_tags -mouse_gpm +statusline -xsmp +eval -mouse_jsbterm -sun_workshop -xterm_clipboard +ex_extra +mouse_netterm +syntax -xterm_save +extra_search +mouse_sgr +tag_binary -farsi -mouse_sysmouse -tag_old_static 系统 vimrc 文件: "$VIM/vimrc"用户 vimrc 文件: "$HOME/.vimrc"第二用户 vimrc 文件: "~/.vim/vimrc"用户 exrc 文件: "$HOME/.exrc"defaults 文件: "$VIMRUNTIME/defaults.vim"$VIM 预设值: "/root/share/vim" 编译方式: gcc -std=gnu99 -c -I. -Iproto -DHAVE_CONFIG_H -g -O2 -D_REENTRANT -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1 链接方式: gcc -std=gnu99 -L/usr/local/lib -Wl,--as-needed -o vim -lm -ltinfo -lrt -ldl
参考:
https://www.cnvd.org.cn/flaw/show/CNVD-2023-09166
https://www.cnvd.org.cn/flaw/show/CNVD-2023-09647
https://github.com/vim/vim/releases/tag/v9.0.1333
https://www.cnblogs.com/frytea/p/13411353.html