Ubuntu Update for Linux kernel vulnerabilities USN-454-1
###############################################################################
# OpenVAS Vulnerability Test
# $Id: gb_ubuntu_USN_454_1.nasl 7969 2017-12-01 09:23:16Z santu $
#
# Ubuntu Update for postgresql-8.1, postgresql-8.2 vulnerability USN-454-1
#
# Authors:
# System Generated Check
#
# Copyright:
# Copyright (c) 2009 Greenbone Networks GmbH, http://www.greenbone.net
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License version 2
# (or any later version), 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.
###############################################################################
include("revisions-lib.inc");
tag_insight = "PostgreSQL did not handle the "search_path" configuration option in a
secure way for functions declared as "SECURITY DEFINER".
Previously, an attacker could override functions and operators used by
the security definer function to execute arbitrary SQL commands with
the privileges of the user who created the security definer function.
The updated version does not search the temporary table schema for
functions and operators any more.
Similarly, an attacker could put forged tables into the temporary
table schema to trick the security definer function into using
attacker defined data for processing. This was possible because the
temporary schema was always implicitly searched first before all other
entries in "search_path". The updated version now supports explicit
placement of the temporary schema. Please see the HTML documentation
or the manual page for "CREATE FUNCTION" for details and an example
how to write security definer functions in a secure way.";
tag_summary = "Ubuntu Update for Linux kernel vulnerabilities USN-454-1";
tag_affected = "postgresql-8.1, postgresql-8.2 vulnerability on Ubuntu 6.06 LTS ,
Ubuntu 6.10 ,
Ubuntu 7.04";
tag_solution = "Please Install the Updated Packages.";
if(description)
{
script_xref(name: "URL" , value: "http://www.ubuntu.com/usn/usn-454-1/");
script_id(840046);
script_version("$Revision: 7969 $");
script_tag(name:"last_modification", value:"$Date: 2017-12-01 10:23:16 +0100 (Fri, 01 Dec 2017) $");
script_tag(name:"creation_date", value:"2009-03-23 10:55:18 +0100 (Mon, 23 Mar 2009)");
script_tag(name:"cvss_base", value:"6.0");
script_tag(name:"cvss_base_vector", value:"AV:N/AC:M/Au:S/C:P/I:P/A:P");
script_xref(name: "USN", value: "454-1");
script_cve_id("CVE-2007-2138");
script_name( "Ubuntu Update for postgresql-8.1, postgresql-8.2 vulnerability USN-454-1");
script_category(ACT_GATHER_INFO);
script_copyright("Copyright (C) 2009 Greenbone Networks GmbH");
script_family("Ubuntu Local Security Checks");
script_dependencies("gather-package-list.nasl");
script_mandatory_keys("ssh/login/ubuntu_linux", "ssh/login/packages");
script_tag(name : "summary" , value : tag_summary);
script_tag(name : "affected" , value : tag_affected);
script_tag(name : "solution" , value : tag_solution);
script_tag(name : "insight" , value : tag_insight);
script_tag(name:"qod_type", value:"package");
script_tag(name:"solution_type", value:"VendorFix");
exit(0);
}
include("pkg-lib-deb.inc");
release = get_kb_item("ssh/login/release");
res = "";
if(release == NULL){
exit(0);
}
if(release == "UBUNTU7.04")
{
if ((res = isdpkgvuln(pkg:"libecpg-compat2", ver:"8.2.4-0ubuntu0.7.04", rls:"UBUNTU7.04")) != NULL)
{
security_message(data:res);
exit(0);
}
if ((res = isdpkgvuln(pkg:"libecpg-dev", ver:"8.2.4-0ubuntu0.7.04", rls:"UBUNTU7.04")) != NULL)
{
security_message(data:res);
exit(0);
}
if ((res = isdpkgvuln(pkg:"libecpg5", ver:"8.2.4-0ubuntu0.7.04", rls:"UBUNTU7.04")) != NULL)
{
security_message(data:res);
exit(0);
}
if ((res = isdpkgvuln(pkg:"libpgtypes2", ver:"8.2.4-0ubuntu0.7.04", rls:"UBUNTU7.04")) != NULL)
{
security_message(data:res);
exit(0);
}
if ((res = isdpkgvuln(pkg:"libpq-dev", ver:"8.2.4-0ubuntu0.7.04", rls:"UBUNTU7.04")) != NULL)
{
security_message(data:res);
exit(0);
}
if ((res = isdpkgvuln(pkg:"libpq5", ver:"8.2.4-0ubuntu0.7.04", rls:"UBUNTU7.04")) != NULL)
{
security_message(data:res);
exit(0);
}
if ((res = isdpkgvuln(pkg:"postgresql", ver:"8.2_8.2.4-0ubuntu0.7.04", rls:"UBUNTU7.04")) != NULL)
{
security_message(data:res);
exit(0);
}
if ((res = isdpkgvuln(pkg:"postgresql-client", ver:"8.2_8.2.4-0ubuntu0.7.04", rls:"UBUNTU7.04")) != NULL)
{
security_message(data:res);
exit(0);
}
if ((res = isdpkgvuln(pkg:"postgresql-contrib", ver:"8.2_8.2.4-0ubuntu0.7.04", rls:"UBUNTU7.04")) != NULL)
{
security_message(data:res);
exit(0);
}
if ((res = isdpkgvuln(pkg:"postgresql-plperl", ver:"8.2_8.2.4-0ubuntu0.7.04", rls:"UBUNTU7.04")) != NULL)
{
security_message(data:res);
exit(0);
}
if ((res = isdpkgvuln(pkg:"postgresql-plpython", ver:"8.2_8.2.4-0ubuntu0.7.04", rls:"UBUNTU7.04")) != NULL)
{
security_message(data:res);
exit(0);
}
if ((res = isdpkgvuln(pkg:"postgresql-pltcl", ver:"8.2_8.2.4-0ubuntu0.7.04", rls:"UBUNTU7.04")) != NULL)
{
security_message(data:res);
exit(0);
}
if ((res = isdpkgvuln(pkg:"postgresql-server-dev", ver:"8.2_8.2.4-0ubuntu0.7.04", rls:"UBUNTU7.04")) != NULL)
{
security_message(data:res);
exit(0);
}
if ((res = isdpkgvuln(pkg:"postgresql-doc", ver:"8.2_8.2.4-0ubuntu0.7.04", rls:"UBUNTU7.04")) != NULL)
{
security_message(data:res);
exit(0);
}
if (__pkg_match) exit(99); # Not vulnerable.
exit(0);
}
if(release == "UBUNTU6.06 LTS")
{
if ((res = isdpkgvuln(pkg:"libecpg-compat2", ver:"8.1.9-0ubuntu0.6.06", rls:"UBUNTU6.06 LTS")) != NULL)
{
security_message(data:res);
exit(0);
}
if ((res = isdpkgvuln(pkg:"libecpg-dev", ver:"8.1.9-0ubuntu0.6.06", rls:"UBUNTU6.06 LTS")) != NULL)
{
security_message(data:res);
exit(0);
}
if ((res = isdpkgvuln(pkg:"libecpg5", ver:"8.1.9-0ubuntu0.6.06", rls:"UBUNTU6.06 LTS")) != NULL)
{
security_message(data:res);
exit(0);
}
if ((res = isdpkgvuln(pkg:"libpgtypes2", ver:"8.1.9-0ubuntu0.6.06", rls:"UBUNTU6.06 LTS")) != NULL)
{
security_message(data:res);
exit(0);
}
if ((res = isdpkgvuln(pkg:"libpq-dev", ver:"8.1.9-0ubuntu0.6.06", rls:"UBUNTU6.06 LTS")) != NULL)
{
security_message(data:res);
exit(0);
}
if ((res = isdpkgvuln(pkg:"libpq4", ver:"8.1.9-0ubuntu0.6.06", rls:"UBUNTU6.06 LTS")) != NULL)
{
security_message(data:res);
exit(0);
}
if ((res = isdpkgvuln(pkg:"postgresql", ver:"8.1_8.1.9-0ubuntu0.6.06", rls:"UBUNTU6.06 LTS")) != NULL)
{
security_message(data:res);
exit(0);
}
if ((res = isdpkgvuln(pkg:"postgresql-client", ver:"8.1_8.1.9-0ubuntu0.6.06", rls:"UBUNTU6.06 LTS")) != NULL)
{
security_message(data:res);
exit(0);
}
if ((res = isdpkgvuln(pkg:"postgresql-contrib", ver:"8.1_8.1.9-0ubuntu0.6.06", rls:"UBUNTU6.06 LTS")) != NULL)
{
security_message(data:res);
exit(0);
}
if ((res = isdpkgvuln(pkg:"postgresql-plperl", ver:"8.1_8.1.9-0ubuntu0.6.06", rls:"UBUNTU6.06 LTS")) != NULL)
{
security_message(data:res);
exit(0);
}
if ((res = isdpkgvuln(pkg:"postgresql-plpython", ver:"8.1_8.1.9-0ubuntu0.6.06", rls:"UBUNTU6.06 LTS")) != NULL)
{
security_message(data:res);
exit(0);
}
if ((res = isdpkgvuln(pkg:"postgresql-pltcl", ver:"8.1_8.1.9-0ubuntu0.6.06", rls:"UBUNTU6.06 LTS")) != NULL)
{
security_message(data:res);
exit(0);
}
if ((res = isdpkgvuln(pkg:"postgresql-server-dev", ver:"8.1_8.1.9-0ubuntu0.6.06", rls:"UBUNTU6.06 LTS")) != NULL)
{
security_message(data:res);
exit(0);
}
if ((res = isdpkgvuln(pkg:"postgresql-doc", ver:"8.1_8.1.9-0ubuntu0.6.06", rls:"UBUNTU6.06 LTS")) != NULL)
{
security_message(data:res);
exit(0);
}
if (__pkg_match) exit(99); # Not vulnerable.
exit(0);
}
if(release == "UBUNTU6.10")
{
if ((res = isdpkgvuln(pkg:"libecpg-compat2", ver:"8.1.9-0ubuntu0.6.10", rls:"UBUNTU6.10")) != NULL)
{
security_message(data:res);
exit(0);
}
if ((res = isdpkgvuln(pkg:"libecpg-dev", ver:"8.1.9-0ubuntu0.6.10", rls:"UBUNTU6.10")) != NULL)
{
security_message(data:res);
exit(0);
}
if ((res = isdpkgvuln(pkg:"libecpg5", ver:"8.1.9-0ubuntu0.6.10", rls:"UBUNTU6.10")) != NULL)
{
security_message(data:res);
exit(0);
}
if ((res = isdpkgvuln(pkg:"libpgtypes2", ver:"8.1.9-0ubuntu0.6.10", rls:"UBUNTU6.10")) != NULL)
{
security_message(data:res);
exit(0);
}
if ((res = isdpkgvuln(pkg:"libpq-dev", ver:"8.1.9-0ubuntu0.6.10", rls:"UBUNTU6.10")) != NULL)
{
security_message(data:res);
exit(0);
}
if ((res = isdpkgvuln(pkg:"libpq4", ver:"8.1.9-0ubuntu0.6.10", rls:"UBUNTU6.10")) != NULL)
{
security_message(data:res);
exit(0);
}
if ((res = isdpkgvuln(pkg:"postgresql", ver:"8.1_8.1.9-0ubuntu0.6.10", rls:"UBUNTU6.10")) != NULL)
{
security_message(data:res);
exit(0);
}
if ((res = isdpkgvuln(pkg:"postgresql-client", ver:"8.1_8.1.9-0ubuntu0.6.10", rls:"UBUNTU6.10")) != NULL)
{
security_message(data:res);
exit(0);
}
if ((res = isdpkgvuln(pkg:"postgresql-contrib", ver:"8.1_8.1.9-0ubuntu0.6.10", rls:"UBUNTU6.10")) != NULL)
{
security_message(data:res);
exit(0);
}
if ((res = isdpkgvuln(pkg:"postgresql-plperl", ver:"8.1_8.1.9-0ubuntu0.6.10", rls:"UBUNTU6.10")) != NULL)
{
security_message(data:res);
exit(0);
}
if ((res = isdpkgvuln(pkg:"postgresql-plpython", ver:"8.1_8.1.9-0ubuntu0.6.10", rls:"UBUNTU6.10")) != NULL)
{
security_message(data:res);
exit(0);
}
if ((res = isdpkgvuln(pkg:"postgresql-pltcl", ver:"8.1_8.1.9-0ubuntu0.6.10", rls:"UBUNTU6.10")) != NULL)
{
security_message(data:res);
exit(0);
}
if ((res = isdpkgvuln(pkg:"postgresql-server-dev", ver:"8.1_8.1.9-0ubuntu0.6.10", rls:"UBUNTU6.10")) != NULL)
{
security_message(data:res);
exit(0);
}
if ((res = isdpkgvuln(pkg:"postgresql-doc", ver:"8.1_8.1.9-0ubuntu0.6.10", rls:"UBUNTU6.10")) != NULL)
{
security_message(data:res);
exit(0);
}
if (__pkg_match) exit(99); # Not vulnerable.
exit(0);
}