xfocus logo xfocus title
首页 焦点原创 安全文摘 安全工具 安全漏洞 焦点项目 焦点论坛 关于我们
English Version

VIM 在状态行中能执行嵌在文本中的命令


发布时间:2001-03-30
更新时间:2001-03-30
严重程度:
威胁程度:普通用户访问权限
错误类型:设计错误
利用方式:服务器模式

受影响系统
VIM Development Group VIM 5.7
   + RedHat Linux 7.0 sparc
   + RedHat Linux 7.0 i386
   + RedHat Linux 7.0 alpha
   + RedHat Linux 7.0
   + RedHat Linux 6.2 sparc
   + RedHat Linux 6.2 i386
   + RedHat Linux 6.2 alpha
   + RedHat Linux 6.2
   + RedHat Linux 5.2 sparc
   + RedHat Linux 5.2 i386
   + RedHat Linux 5.2 alpha
   + RedHat Linux 5.2
      - RedHat Linux 7.0
      - RedHat Linux 6.2
详细描述
VIM是一个流行的UNIX文本编辑器vi 加强版本,目前最高版本是5.7,其中存在攻击者可以在普通文本文件中嵌入恶意命令,这些命令在这个文件
打开的时候被执行,并可以根据当前打开用户的权利执行。要能利用这个
漏洞,必须修改参数使状态行选项打开(在.vimrc文件中设"statusline"
或者"stl"选项。VIM包含了一个函数system()来执行SHELL命令,这个函数正好在statusline命令中采用,并且可以嵌入在文本中的使用。如:
vim:ls=2:stl=%{system('/tmp/getroot&')}
这条命令放在文本中就可以执行,并指示总显示状态行并设置状态行的为 "/tmp/getroot&". 这样就可能以其他用户的权利执行命令。

测试代码
见描述部分。

解决方案
下载升级程序:
VIM Development Group VIM 5.7:

RedHat RPM 6.2 sparc: vim-enhanced-5.7-0.6x.sparc
ftp://updates.redhat.com/6.2/sparc/vim-enhanced-5.7-0.6x.sparc.rpm

RedHat RPM 6.2 sparc: vim-minimal-5.7-0.6x.sparc
ftp://updates.redhat.com/6.2/sparc/vim-minimal-5.7-0.6x.sparc.rpm

Mandrake patch 6.1 i586 vim-common-5.7-8.3mdk.i586.rpm
ftp://sunsite.ualberta.ca/pub/Mirror/Linux/mandrake/updates/6.1/RPMS/vim-common-5.7-8.3mdk.i586.rpm

RedHat RPM 5.2 alpha: vim-enhanced-5.7-0.5x.alpha
ftp://updates.redhat.com/5.2/alpha/vim-enhanced-5.7-0.5x.alpha.rpm

RedHat RPM 6.2 sparc: vim-common-5.7-0.6x.sparc
ftp://updates.redhat.com/6.2/sparc/vim-common-5.7-0.6x.sparc.rpm

Mandrake patch 6.1 i586 vim-X11-5.7-8.3mdk.i586.rpm
ftp://sunsite.ualberta.ca/pub/Mirror/Linux/mandrake/updates/6.1/RPMS/vim-X11-5.7-8.3mdk.i586.rpm

Mandrake patch 1.0.1 src vim-5.7-8.2mdk.src.rpm
ftp://sunsite.ualberta.ca/pub/Mirror/Linux/mandrake/updates/1.0.1/SRPMS/vim-5.7-8.2mdk.src.rpm

RedHat RPM 6.2 i386: vim-X11-5.7-0.6x.i386
ftp://updates.redhat.com/6.2/i386/vim-X11-5.7-0.6x.i386.rpm

RedHat RPM 5.2 alpha: vim-minimal-5.7-0.5x.alpha
ftp://updates.redhat.com/5.2/alpha/vim-minimal-5.7-0.5x.alpha.rpm

Mandrake patch 1.0.1 i586 vim-minimal-5.7-8.2mdk.i586.rpm
ftp://sunsite.ualberta.ca/pub/Mirror/Linux/mandrake/updates/1.0.1/RPMS/vim-minimal-5.7-8.2mdk.i586.rpm

Mandrake patch 7.2 i586 vim-enhanced-5.7-8.1mdk.i586.rpm
ftp://sunsite.ualberta.ca/pub/Mirror/Linux/mandrake/updates/7.2/RPMS/vim-enhanced-5.7-8.1mdk.i586.rpm

RedHat RPM 5.2 alpha: vim-common-5.7-0.5x.alpha
ftp://updates.redhat.com/5.2/alpha/vim-common-5.7-0.5x.alpha.rpm

RedHat RPM 6.2 i386: vim-enhanced-5.7-0.6x.i386
ftp://updates.redhat.com/6.2/i386/vim-enhanced-5.7-0.6x.i386.rpm

Mandrake patch 1.0.1 i586 vim-enhanced-5.7-8.2mdk.i586.rpm
ftp://sunsite.ualberta.ca/pub/Mirror/Linux/mandrake/updates/1.0.1/RPMS/vim-enhanced-5.7-8.2mdk.i586.rpm

Mandrake patch 7.2 i586 vim-common-5.7-8.1mdk.i586.rpm
ftp://sunsite.ualberta.ca/pub/Mirror/Linux/mandrake/updates/7.2/RPMS/vim-common-5.7-8.1mdk.i586.rpm

RedHat RPM 6.2 i386: vim-minimal-5.7-0.6x.i386
ftp://updates.redhat.com/6.2/i386/vim-minimal-5.7-0.6x.i386.rpm

RedHat RPM 6.2 i386: vim-common-5.7-0.6x.i386
ftp://updates.redhat.com/6.2/i386/vim-common-5.7-0.6x.i386.rpm

Mandrake patch 7.2 i586 vim-X11-5.7-8.1mdk.i586.rpm
ftp://sunsite.ualberta.ca/pub/Mirror/Linux/mandrake/updates/7.2/RPMS/vim-X11-5.7-8.1mdk.i586.rpm

Mandrake patch 1.0.1 i586 vim-common-5.7-8.2mdk.i586.rpm
ftp://sunsite.ualberta.ca/pub/Mirror/Linux/mandrake/updates/1.0.1/RPMS/vim-common-5.7-8.2mdk.i586.rpm

Mandrake patch 1.0.1 i586 vim-X11-5.7-8.2mdk.i586.rpm
ftp://sunsite.ualberta.ca/pub/Mirror/Linux/mandrake/updates/1.0.1/RPMS/vim-X11-5.7-8.2mdk.i586.rpm

Mandrake RPM 7.2 i586 ctags-3.5.1-8.1mdk.i586.rpm
ftp://sunsite.ualberta.ca/pub/Mirror/Linux/mandrake/updates/7.2/RPMS/ctags-3.5.1-8.1mdk.i586.rpm

Mandrake patch 1.0.1 i586 ctags-3.5.1-8.2mdk.i586.rpm
ftp://sunsite.ualberta.ca/pub/Mirror/Linux/mandrake/updates/1.0.1/RPMS/ctags-3.5.1-8.2mdk.i586.rpm

RedHat RPM 6.2 alpha: vim-enhanced-5.7-0.6x.alpha
ftp://updates.redhat.com/6.2/alpha/vim-enhanced-5.7-0.6x.alpha.rpm

RedHat RPM 6.2 alpha: vim-minimal-5.7-0.6x.alpha
ftp://updates.redhat.com/6.2/alpha/vim-minimal-5.7-0.6x.alpha.rpm

Mandrake patch 7.0 src vim-5.7-8.3mdk.src.rpm
ftp://sunsite.ualberta.ca/pub/Mirror/Linux/mandrake/updates/7.0/SRPMS/vim-5.7-8.3mdk.src.rpm

Mandrake patch 7.0 i586 vim-minimal-5.7-8.3mdk.i586.rpm
ftp://sunsite.ualberta.ca/pub/Mirror/Linux/mandrake/updates/7.0/RPMS/vim-minimal-5.7-8.3mdk.i586.rpm

RedHat RPM 7.0 i386: vim-X11-5.7-8.i386
ftp://updates.redhat.com/7.0/i386/vim-X11-5.7-8.i386.rpm

RedHat RPM 7.0 i386: vim-enhanced-5.7-8.i386
ftp://updates.redhat.com/7.0/i386/vim-enhanced-5.7-8.i386.rpm

RedHat RPM 6.2 alpha: vim-common-5.7-0.6x.alpha.rpm
ftp://updates.redhat.com/6.2/alpha/vim-common-5.7-0.6x.alpha.rpm

Mandrake patch 7.0 i586 vim-enhanced-5.7-8.3mdk.i586.rpm
ftp://sunsite.ualberta.ca/pub/Mirror/Linux/mandrake/updates/7.0/RPMS/vim-enhanced-5.7-8.3mdk.i586.rpm

RedHat RPM 7.0 i386: vim-minimal-5.7-8.i386
ftp://updates.redhat.com/7.0/i386/vim-minimal-5.7-8.i386.rpm

RedHat RPM 5.2 sparc: vim-X11-5.7-0.5x.sparc
ftp://updates.redhat.com/5.2/sparc/vim-X11-5.7-0.5x.sparc.rpm

Mandrake patch 6.0 src vim-5.7-8.3mdk.src.rpm
ftp://sunsite.ualberta.ca/pub/Mirror/Linux/mandrake/updates/6.0/SRPMS/vim-5.7-8.3mdk.src.rpm

Mandrake patch 7.0 i586 vim-common-5.7-8.3mdk.i586.rpm
ftp://sunsite.ualberta.ca/pub/Mirror/Linux/mandrake/updates/7.0/RPMS/vim-common-5.7-8.3mdk.i586.rpm

RedHat RPM 7.0 i386: vim-common-5.7-8.i386
ftp://updates.redhat.com/7.0/i386/vim-common-5.7-8.i386.rpm

RedHat RPM 5.2 sparc: vim-enhanced-5.7-0.5x.sparc
ftp://updates.redhat.com/5.2/sparc/vim-enhanced-5.7-0.5x.sparc.rpm

Mandrake patch 6.0 i586 vim-minimal-5.7-8.3mdk.i586.rpm
ftp://sunsite.ualberta.ca/pub/Mirror/Linux/mandrake/updates/6.0/RPMS/vim-minimal-5.7-8.3mdk.i586.rpm

Mandrake patch 7.0 i586 vim-X11-5.7-8.3mdk.i586.rpm
ftp://sunsite.ualberta.ca/pub/Mirror/Linux/mandrake/updates/7.0/RPMS/vim-X11-5.7-8.3mdk.i586.rpm

RedHat RPM 7.0 alpha: vim-X11-5.7-8.alpha
ftp://updates.redhat.com/7.0/alpha/vim-X11-5.7-8.alpha.rpm

RedHat RPM 5.2 sparc: vim-minimal-5.7-0.5x.sparc
ftp://updates.redhat.com/5.2/sparc/vim-minimal-5.7-0.5x.sparc.rpm

Mandrake patch 6.0 i586 vim-enhanced-5.7-8.3mdk.i586.rpm
ftp://sunsite.ualberta.ca/pub/Mirror/Linux/mandrake/updates/6.0/RPMS/vim-enhanced-5.7-8.3mdk.i586.rpm

Mandrake patch 7.1 src vim-5.7-8.2mdk.src.rpm
ftp://sunsite.ualberta.ca/pub/Mirror/Linux/mandrake/updates/7.1/SRPMS/vim-5.7-8.2mdk.src.rpm

RedHat RPM 7.0 alpha: vim-enhanced-5.7-8.alpha
ftp://updates.redhat.com/7.0/alpha/vim-enhanced-5.7-8.alpha.rpm

RedHat RPM 5.2 sparc: vim-common-5.7-0.5x.sparc
ftp://updates.redhat.com/5.2/sparc/vim-common-5.7-0.5x.sparc.rpm

Mandrake patch 6.0 i586 vim-common-5.7-8.3mdk.i586.rpm
ftp://sunsite.ualberta.ca/pub/Mirror/Linux/mandrake/updates/6.0/RPMS/vim-common-5.7-8.3mdk.i586.rpm

RedHat RPM 5.2 i386: vim-X11-5.7-0.5x.i386
ftp://updates.redhat.com/5.2/i386/vim-X11-5.7-0.5x.i386.rpm

RedHat RPM 7.0 alpha: vim-minimal-5.7-8.alpha.rpm
ftp://updates.redhat.com/7.0/alpha/vim-minimal-5.7-8.alpha.rpm

Mandrake patch 7.1 i586 vim-minimal-5.7-8.2mdk.i586.rpm
ftp://sunsite.ualberta.ca/pub/Mirror/Linux/mandrake/updates/7.1/RPMS/vim-minimal-5.7-8.2mdk.i586.rpm

Mandrake patch 6.0 i586 vim-X11-5.7-8.3mdk.i586.rpm
ftp://sunsite.ualberta.ca/pub/Mirror/Linux/mandrake/updates/6.0/RPMS/vim-X11-5.7-8.3mdk.i586.rpm

RedHat RPM 5.2 i386: vim-enhanced-5.7-0.5x.i386
ftp://updates.redhat.com/5.2/i386/vim-enhanced-5.7-0.5x.i386.rpm

RedHat RPM 7.0 alpha: vim-common-5.7-8.alpha
ftp://updates.redhat.com/7.0/alpha/vim-common-5.7-8.alpha.rpm

Mandrake patch 7.1 i586 vim-enhanced-5.7-8.2mdk.i586.rpm
ftp://sunsite.ualberta.ca/pub/Mirror/Linux/mandrake/updates/7.1/RPMS/vim-enhanced-5.7-8.2mdk.i586.rpm

Mandrake patch 6.1 src vim-5.7-8.3mdk.src.rpm
ftp://sunsite.ualberta.ca/pub/Mirror/Linux/mandrake/updates/6.1/SRPMS/vim-5.7-8.3mdk.src.rpm

RedHat RPM 5.2 i386: vim-minimal-5.7-0.5x.i386
ftp://updates.redhat.com/5.2/i386/vim-minimal-5.7-0.5x.i386.rpm

RedHat RPM 6.2 sparc: vim-X11-5.7-0.6x.sparc
ftp://updates.redhat.com/6.2/sparc/vim-X11-5.7-0.6x.sparc.rpm

Mandrake patch 7.1 i586 vim-common-5.7-8.2mdk.i586.rpm
ftp://sunsite.ualberta.ca/pub/Mirror/Linux/mandrake/updates/7.1/RPMS/vim-common-5.7-8.2mdk.i586.rpm

Mandrake patch 6.1 i586 vim-minimal-5.7-8.3mdk.i586.rpm
ftp://sunsite.ualberta.ca/pub/Mirror/Linux/mandrake/updates/6.1/RPMS/vim-minimal-5.7-8.3mdk.i586.rpm

RedHat RPM 5.2 i386: vim-common-5.7-0.5x.i386
ftp://updates.redhat.com/5.2/i386/vim-common-5.7-0.5x.i386.rpm

Mandrake patch 7.1 i586 vim-X11-5.7-8.2mdk.i586.rpm
ftp://sunsite.ualberta.ca/pub/Mirror/Linux/mandrake/updates/7.1/RPMS/vim-X11-5.7-8.2mdk.i586.rpm

Mandrake patch 6.1 i586 vim-enhanced-5.7-8.3mdk.i586.rpm
ftp://sunsite.ualberta.ca/pub/Mirror/Linux/mandrake/updates/6.1/RPMS/vim-enhanced-5.7-8.3mdk.i586.rpm

RedHat RPM 5.2 alpha: vim-X11-5.7-0.5x.alpha
ftp://updates.redhat.com/5.2/alpha/vim-X11-5.7-0.5x.alpha.rpm

Mandrake patch 7.1 i586 ctags-3.5.1-8.2mdk.i586.rpm
ftp://sunsite.ualberta.ca/pub/Mirror/Linux/mandrake/updates/7.1/RPMS/ctags-3.5.1-8.2mdk.i586.rpm

Mandrake patch 7.2 src vim-5.7-8.1mdk.src.rpm
ftp://sunsite.ualberta.ca/pub/Mirror/Linux/mandrake/updates/7.2/SRPMS/vim-5.7-8.1mdk.src.rpm

相关信息