#
#VID 30866e6c-3c6d-11dd-98c9-00163e000016
# OpenVAS Vulnerability Test
# $
# Description: Auto generated from vuxml or freebsd advisories
#
# Authors:
# Thomas Reinke <reinke@securityspace.com>
#
# Copyright:
# Copyright (c) 2008 E-Soft Inc. http://www.securityspace.com
# Text descriptions are largely excerpted from the referenced
# advisories, and are Copyright (c) the respective author(s)
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License version 2,
# as published by the Free Software Foundation
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
#
if(description)
{
 script_id(61187);
 script_cve_id("CVE-2008-2712");
 script_version ("$");
 script_tag(name:"cvss_base", value:"9.3");
 script_tag(name:"risk_factor", value:"Critical");
 name = "FreeBSD Ports: vim, vim-lite, vim-ruby, vim6, vim6-ruby";
 script_name(name);

 desc = "The remote host is missing an update to the system
as announced in the referenced advisory.

The following packages are affected:
   vim
   vim-lite
   vim-ruby
   vim6
   vim6-ruby

CVE-2008-2712
Vim 7.1.314, 6.4, and other versions allows user-assisted remote
attackers to execute arbitrary commands via Vim scripts that do not
properly sanitize inputs before invoking the execute or system
functions, as demonstrated using (1) filetype.vim, (2) zipplugin, (3)
xpm.vim, (4) gzip_vim, and (5) netrw.

Solution:
Update your system with the appropriate patches or
software upgrades.

http://www.rdancer.org/vulnerablevim.html
http://www.vuxml.org/freebsd/30866e6c-3c6d-11dd-98c9-00163e000016.html

Risk factor : High";

 script_description(desc);

 summary = "FreeBSD Ports: vim, vim-lite, vim-ruby, vim6, vim6-ruby";
 script_summary(summary);

 script_category(ACT_GATHER_INFO);

 script_copyright("Copyright (c) 2008 E-Soft Inc. http://www.securityspace.com");
 family = "FreeBSD Local Security Checks";
 script_family(family);
 script_dependencies("gather-package-list.nasl");
 script_require_keys("ssh/login/freebsdrel");
 exit(0);
}

#
# The script code starts here
#

include("revisions-lib.inc");
include("pkg-lib-bsd.inc");
vuln = 0;
bver = portver(pkg:"vim");
if(!isnull(bver) && revcomp(a:bver, b:"6")>0 && revcomp(a:bver, b:"6.4.10")<=0) {
    security_note(0, data:"Package vim version " + bver + " is installed which is known to be vulnerable.");
    vuln = 1;
}
if(!isnull(bver) && revcomp(a:bver, b:"7")>0 && revcomp(a:bver, b:"7.1.315")<0) {
    security_note(0, data:"Package vim version " + bver + " is installed which is known to be vulnerable.");
    vuln = 1;
}
bver = portver(pkg:"vim-lite");
if(!isnull(bver) && revcomp(a:bver, b:"6")>0 && revcomp(a:bver, b:"6.4.10")<=0) {
    security_note(0, data:"Package vim-lite version " + bver + " is installed which is known to be vulnerable.");
    vuln = 1;
}
if(!isnull(bver) && revcomp(a:bver, b:"7")>0 && revcomp(a:bver, b:"7.1.315")<0) {
    security_note(0, data:"Package vim-lite version " + bver + " is installed which is known to be vulnerable.");
    vuln = 1;
}
bver = portver(pkg:"vim-ruby");
if(!isnull(bver) && revcomp(a:bver, b:"6")>0 && revcomp(a:bver, b:"6.4.10")<=0) {
    security_note(0, data:"Package vim-ruby version " + bver + " is installed which is known to be vulnerable.");
    vuln = 1;
}
if(!isnull(bver) && revcomp(a:bver, b:"7")>0 && revcomp(a:bver, b:"7.1.315")<0) {
    security_note(0, data:"Package vim-ruby version " + bver + " is installed which is known to be vulnerable.");
    vuln = 1;
}
bver = portver(pkg:"vim6");
if(!isnull(bver) && revcomp(a:bver, b:"6")>0 && revcomp(a:bver, b:"6.4.10")<=0) {
    security_note(0, data:"Package vim6 version " + bver + " is installed which is known to be vulnerable.");
    vuln = 1;
}
if(!isnull(bver) && revcomp(a:bver, b:"7")>0 && revcomp(a:bver, b:"7.1.315")<0) {
    security_note(0, data:"Package vim6 version " + bver + " is installed which is known to be vulnerable.");
    vuln = 1;
}
bver = portver(pkg:"vim6-ruby");
if(!isnull(bver) && revcomp(a:bver, b:"6")>0 && revcomp(a:bver, b:"6.4.10")<=0) {
    security_note(0, data:"Package vim6-ruby version " + bver + " is installed which is known to be vulnerable.");
    vuln = 1;
}
if(!isnull(bver) && revcomp(a:bver, b:"7")>0 && revcomp(a:bver, b:"7.1.315")<0) {
    security_note(0, data:"Package vim6-ruby version " + bver + " is installed which is known to be vulnerable.");
    vuln = 1;
}

if(vuln) {
    security_hole(0);
}
