#
#VID 959d384d-6b59-11dd-9d79-001fc61c2a55
# 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(61453);
 script_cve_id("CVE-2008-1447");
 script_version ("$");
 script_tag(name:"cvss_base", value:"6.4");
 script_tag(name:"risk_factor", value:"High");
 name = "FreeBSD Ports: ruby, ruby+pthreads, ruby+pthreads+oniguruma, ruby+oniguruma";
 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:
   ruby
   ruby+pthreads
   ruby+pthreads+oniguruma
   ruby+oniguruma

CVE-2008-1447
The DNS protocol, as implemented in (1) BIND 8 and 9 before 9.5.0-P1,
9.4.2-P1, and 9.3.5-P1; (2) Microsoft DNS in Windows 2000 SP4, XP SP2
and SP3, and Server 2003 SP1 and SP2; and other implementations allow
remote attackers to spoof DNS traffic via a birthday attack that uses
in-bailiwick referrals to conduct cache poisoning against recursive
resolvers, related to insufficient randomness of DNS transaction IDs
and source ports, aka 'DNS Insufficient Socket Entropy Vulnerability'
or 'the Kaminsky bug.'

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

http://www.ruby-lang.org/en/news/2008/08/08/multiple-vulnerabilities-in-ruby/
http://www.vuxml.org/freebsd/959d384d-6b59-11dd-9d79-001fc61c2a55.html

Risk factor : High";

 script_description(desc);

 summary = "FreeBSD Ports: ruby, ruby+pthreads, ruby+pthreads+oniguruma, ruby+oniguruma";
 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:"ruby");
if(!isnull(bver) && revcomp(a:bver, b:"1.8.*,1")>=0 && revcomp(a:bver, b:"1.8.6.111_5,1")<0) {
    security_note(0, data:"Package ruby version " + bver + " is installed which is known to be vulnerable.");
    vuln = 1;
}
if(!isnull(bver) && revcomp(a:bver, b:"1.9.*,1")>=0) {
    security_note(0, data:"Package ruby version " + bver + " is installed which is known to be vulnerable.");
    vuln = 1;
}
bver = portver(pkg:"ruby+pthreads");
if(!isnull(bver) && revcomp(a:bver, b:"1.8.*,1")>=0 && revcomp(a:bver, b:"1.8.6.111_5,1")<0) {
    security_note(0, data:"Package ruby+pthreads version " + bver + " is installed which is known to be vulnerable.");
    vuln = 1;
}
if(!isnull(bver) && revcomp(a:bver, b:"1.9.*,1")>=0) {
    security_note(0, data:"Package ruby+pthreads version " + bver + " is installed which is known to be vulnerable.");
    vuln = 1;
}
bver = portver(pkg:"ruby+pthreads+oniguruma");
if(!isnull(bver) && revcomp(a:bver, b:"1.8.*,1")>=0 && revcomp(a:bver, b:"1.8.6.111_5,1")<0) {
    security_note(0, data:"Package ruby+pthreads+oniguruma version " + bver + " is installed which is known to be vulnerable.");
    vuln = 1;
}
if(!isnull(bver) && revcomp(a:bver, b:"1.9.*,1")>=0) {
    security_note(0, data:"Package ruby+pthreads+oniguruma version " + bver + " is installed which is known to be vulnerable.");
    vuln = 1;
}
bver = portver(pkg:"ruby+oniguruma");
if(!isnull(bver) && revcomp(a:bver, b:"1.8.*,1")>=0 && revcomp(a:bver, b:"1.8.6.111_5,1")<0) {
    security_note(0, data:"Package ruby+oniguruma version " + bver + " is installed which is known to be vulnerable.");
    vuln = 1;
}
if(!isnull(bver) && revcomp(a:bver, b:"1.9.*,1")>=0) {
    security_note(0, data:"Package ruby+oniguruma version " + bver + " is installed which is known to be vulnerable.");
    vuln = 1;
}

if(vuln) {
    security_hole(0);
}
