Debian DSA-2385-1 : pdns - packet loop

2012-01-12T00:00:00
ID DEBIAN_DSA-2385.NASL
Type nessus
Reporter Tenable
Modified 2018-11-10T00:00:00

Description

Ray Morris discovered that the PowerDNS authoritative server responds to response packets. An attacker who can spoof the source address of IP packets can cause an endless packet loop between a PowerDNS authoritative server and another DNS server, leading to a denial of service.

                                        
                                            #
# (C) Tenable Network Security, Inc.
#
# The descriptive text and package checks in this plugin were  
# extracted from Debian Security Advisory DSA-2385. The text 
# itself is copyright (C) Software in the Public Interest, Inc.
#

include("compat.inc");

if (description)
{
  script_id(57525);
  script_version("1.7");
  script_cvs_date("Date: 2018/11/10 11:49:35");

  script_cve_id("CVE-2012-0206");
  script_xref(name:"DSA", value:"2385");

  script_name(english:"Debian DSA-2385-1 : pdns - packet loop");
  script_summary(english:"Checks dpkg output for the updated package");

  script_set_attribute(
    attribute:"synopsis", 
    value:"The remote Debian host is missing a security-related update."
  );
  script_set_attribute(
    attribute:"description", 
    value:
"Ray Morris discovered that the PowerDNS authoritative server responds
to response packets. An attacker who can spoof the source address of
IP packets can cause an endless packet loop between a PowerDNS
authoritative server and another DNS server, leading to a denial of
service."
  );
  script_set_attribute(
    attribute:"see_also",
    value:"https://packages.debian.org/source/squeeze/pdns"
  );
  script_set_attribute(
    attribute:"see_also",
    value:"https://www.debian.org/security/2012/dsa-2385"
  );
  script_set_attribute(
    attribute:"solution", 
    value:
"Upgrade the pdns packages.

For the oldstable distribution (lenny), this problem has been fixed in
version 2.9.21.2-1+lenny1.

For the stable distribution (squeeze), this problem has been fixed in
version 2.9.22-8+squeeze1."
  );
  script_set_cvss_base_vector("CVSS2#AV:N/AC:L/Au:N/C:N/I:N/A:P");

  script_set_attribute(attribute:"plugin_type", value:"local");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:debian:debian_linux:pdns");
  script_set_attribute(attribute:"cpe", value:"cpe:/o:debian:debian_linux:5.0");
  script_set_attribute(attribute:"cpe", value:"cpe:/o:debian:debian_linux:6.0");

  script_set_attribute(attribute:"patch_publication_date", value:"2012/01/10");
  script_set_attribute(attribute:"plugin_publication_date", value:"2012/01/12");
  script_end_attributes();

  script_category(ACT_GATHER_INFO);
  script_copyright(english:"This script is Copyright (C) 2012-2018 and is owned by Tenable, Inc. or an Affiliate thereof.");
  script_family(english:"Debian Local Security Checks");

  script_dependencies("ssh_get_info.nasl");
  script_require_keys("Host/local_checks_enabled", "Host/Debian/release", "Host/Debian/dpkg-l");

  exit(0);
}


include("audit.inc");
include("debian_package.inc");


if (!get_kb_item("Host/local_checks_enabled")) audit(AUDIT_LOCAL_CHECKS_NOT_ENABLED);
if (!get_kb_item("Host/Debian/release")) audit(AUDIT_OS_NOT, "Debian");
if (!get_kb_item("Host/Debian/dpkg-l")) audit(AUDIT_PACKAGE_LIST_MISSING);


flag = 0;
if (deb_check(release:"5.0", prefix:"pdns", reference:"2.9.21.2-1+lenny1")) flag++;
if (deb_check(release:"6.0", prefix:"pdns-backend-geo", reference:"2.9.22-8+squeeze1")) flag++;
if (deb_check(release:"6.0", prefix:"pdns-backend-ldap", reference:"2.9.22-8+squeeze1")) flag++;
if (deb_check(release:"6.0", prefix:"pdns-backend-mysql", reference:"2.9.22-8+squeeze1")) flag++;
if (deb_check(release:"6.0", prefix:"pdns-backend-pgsql", reference:"2.9.22-8+squeeze1")) flag++;
if (deb_check(release:"6.0", prefix:"pdns-backend-pipe", reference:"2.9.22-8+squeeze1")) flag++;
if (deb_check(release:"6.0", prefix:"pdns-backend-sqlite", reference:"2.9.22-8+squeeze1")) flag++;
if (deb_check(release:"6.0", prefix:"pdns-backend-sqlite3", reference:"2.9.22-8+squeeze1")) flag++;
if (deb_check(release:"6.0", prefix:"pdns-doc", reference:"2.9.22-8+squeeze1")) flag++;
if (deb_check(release:"6.0", prefix:"pdns-server", reference:"2.9.22-8+squeeze1")) flag++;

if (flag)
{
  if (report_verbosity > 0) security_warning(port:0, extra:deb_report_get());
  else security_warning(0);
  exit(0);
}
else audit(AUDIT_HOST_NOT, "affected");