Debian DSA-2884-1 : libyaml - security update

2014-03-27T00:00:00
ID DEBIAN_DSA-2884.NASL
Type nessus
Reporter Tenable
Modified 2018-07-09T00:00:00

Description

Ivan Fratric of the Google Security Team discovered a heap-based buffer overflow vulnerability in LibYAML, a fast YAML 1.1 parser and emitter library. A remote attacker could provide a specially crafted YAML document that, when parsed by an application using libyaml, would cause the application to crash or, potentially, execute arbitrary code with the privileges of the user running the application.

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

include("compat.inc");

if (description)
{
  script_id(73214);
  script_version("1.7");
  script_cvs_date("Date: 2018/07/09 14:30:25");

  script_cve_id("CVE-2014-2525");
  script_bugtraq_id(66478);
  script_xref(name:"DSA", value:"2884");

  script_name(english:"Debian DSA-2884-1 : libyaml - security update");
  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:
"Ivan Fratric of the Google Security Team discovered a heap-based
buffer overflow vulnerability in LibYAML, a fast YAML 1.1 parser and
emitter library. A remote attacker could provide a specially crafted
YAML document that, when parsed by an application using libyaml, would
cause the application to crash or, potentially, execute arbitrary code
with the privileges of the user running the application."
  );
  script_set_attribute(
    attribute:"see_also",
    value:"http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=742732"
  );
  script_set_attribute(
    attribute:"see_also",
    value:"https://packages.debian.org/source/squeeze/libyaml"
  );
  script_set_attribute(
    attribute:"see_also",
    value:"https://packages.debian.org/source/wheezy/libyaml"
  );
  script_set_attribute(
    attribute:"see_also",
    value:"http://www.debian.org/security/2014/dsa-2884"
  );
  script_set_attribute(
    attribute:"solution", 
    value:
"Upgrade the libyaml packages.

For the oldstable distribution (squeeze), this problem has been fixed
in version 0.1.3-1+deb6u4.

For the stable distribution (wheezy), this problem has been fixed in
version 0.1.4-2+deb7u4."
  );
  script_set_cvss_base_vector("CVSS2#AV:N/AC:M/Au:N/C:P/I:P/A:P");
  script_set_cvss_temporal_vector("CVSS2#E:U/RL:OF/RC:C");
  script_set_attribute(attribute:"exploitability_ease", value:"No known exploits are available");
  script_set_attribute(attribute:"exploit_available", value:"false");

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

  script_set_attribute(attribute:"patch_publication_date", value:"2014/03/26");
  script_set_attribute(attribute:"plugin_publication_date", value:"2014/03/27");
  script_end_attributes();

  script_category(ACT_GATHER_INFO);
  script_copyright(english:"This script is Copyright (C) 2014-2018 Tenable Network Security, Inc.");
  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:"6.0", prefix:"libyaml-0-2", reference:"0.1.3-1+deb6u4")) flag++;
if (deb_check(release:"6.0", prefix:"libyaml-dev", reference:"0.1.3-1+deb6u4")) flag++;
if (deb_check(release:"7.0", prefix:"libyaml-0-2", reference:"0.1.4-2+deb7u4")) flag++;
if (deb_check(release:"7.0", prefix:"libyaml-0-2-dbg", reference:"0.1.4-2+deb7u4")) flag++;
if (deb_check(release:"7.0", prefix:"libyaml-dev", reference:"0.1.4-2+deb7u4")) 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");