Vulnerabilities > CVE-2002-1215 - Remote Buffer Overflow vulnerability in Linux-Ha Heartbeat 0.4.9

047910
CVSS 10.0 - CRITICAL
Attack vector
NETWORK
Attack complexity
LOW
Privileges required
NONE
Confidentiality impact
COMPLETE
Integrity impact
COMPLETE
Availability impact
COMPLETE
network
low complexity
linux-ha
critical
nessus

Summary

Multiple format string vulnerabilities in heartbeat 0.4.9 and earlier (claimed as buffer overflows in some sources) allow remote attackers to execute arbitrary code via certain packets to UDP port 694 (incorrectly claimed as TCP in some sources).

Vulnerable Configurations

Part Description Count
Application
Linux-Ha
2

Nessus

NASL familyDebian Local Security Checks
NASL idDEBIAN_DSA-174.NASL
descriptionNathan Wallwork discovered a buffer overflow in heartbeat, a subsystem for High-Availability Linux. A remote attacker could send a specially crafted UDP packet that overflows a buffer, leaving heartbeat to execute arbitrary code as root.
last seen2020-06-01
modified2020-06-02
plugin id15011
published2004-09-29
reporterThis script is Copyright (C) 2004-2019 Tenable Network Security, Inc.
sourcehttps://www.tenable.com/plugins/nessus/15011
titleDebian DSA-174-1 : heartbeat - buffer overflow
code
#%NASL_MIN_LEVEL 80502

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

include("compat.inc");

if (description)
{
  script_id(15011);
  script_version("1.19");
  script_cvs_date("Date: 2019/08/02 13:32:17");

  script_cve_id("CVE-2002-1215");
  script_xref(name:"DSA", value:"174");

  script_name(english:"Debian DSA-174-1 : heartbeat - buffer overflow");
  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:
"Nathan Wallwork discovered a buffer overflow in heartbeat, a subsystem
for High-Availability Linux. A remote attacker could send a specially
crafted UDP packet that overflows a buffer, leaving heartbeat to
execute arbitrary code as root."
  );
  script_set_attribute(
    attribute:"see_also",
    value:"http://linux-ha.org/security/sec01.txt"
  );
  script_set_attribute(
    attribute:"see_also",
    value:"http://www.debian.org/security/2002/dsa-174"
  );
  script_set_attribute(
    attribute:"solution", 
    value:
"Upgrade the heartbeat package immediately if you run internet
connected servers that are heartbeat-monitored.

This problem has been fixed in version 0.4.9.0l-7.2 for the current
stable distribution (woody) and version 0.4.9.2-1 for the unstable
distribution (sid). The old stable distribution (potato) doesn't
contain a heartbeat package."
  );
  script_set_cvss_base_vector("CVSS2#AV:N/AC:L/Au:N/C:C/I:C/A:C");

  script_set_attribute(attribute:"plugin_type", value:"local");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:debian:debian_linux:heartbeat");
  script_set_attribute(attribute:"cpe", value:"cpe:/o:debian:debian_linux:3.0");

  script_set_attribute(attribute:"patch_publication_date", value:"2002/10/14");
  script_set_attribute(attribute:"plugin_publication_date", value:"2004/09/29");
  script_set_attribute(attribute:"vuln_publication_date", value:"2002/10/14");
  script_end_attributes();

  script_category(ACT_GATHER_INFO);
  script_copyright(english:"This script is Copyright (C) 2004-2019 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:"3.0", prefix:"heartbeat", reference:"0.4.9.0l-7.2")) flag++;
if (deb_check(release:"3.0", prefix:"ldirectord", reference:"0.4.9.0l-7.2")) flag++;
if (deb_check(release:"3.0", prefix:"libstonith-dev", reference:"0.4.9.0l-7.2")) flag++;
if (deb_check(release:"3.0", prefix:"libstonith0", reference:"0.4.9.0l-7.2")) flag++;
if (deb_check(release:"3.0", prefix:"stonith", reference:"0.4.9.0l-7.2")) flag++;

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