GLSA-200410-29 : PuTTY: Pre-authentication buffer overflow

2004-10-28T00:00:00
ID GENTOO_GLSA-200410-29.NASL
Type nessus
Reporter Tenable
Modified 2018-11-19T00:00:00

Description

The remote host is affected by the vulnerability described in GLSA-200410-29 (PuTTY: Pre-authentication buffer overflow)

PuTTY fails to do proper bounds checking on SSH2_MSG_DEBUG packets. The     'stringlen' parameter value is incorrectly checked due to signedness     issues. Note that this vulnerability is similar to the one described in     GLSA 200408-04 but not the same.

Impact :

When PuTTY connects to a server using the SSH2 protocol, an attacker     may be able to send specially crafted packets to the client, resulting     in the execution of arbitrary code with the permissions of the user     running PuTTY. Note that this is possible during the authentication     process but before host key verification.

Workaround :

There is no known workaround at this time.

                                        
                                            #
# (C) Tenable Network Security, Inc.
#
# The descriptive text and package checks in this plugin were
# extracted from Gentoo Linux Security Advisory GLSA 200410-29.
#
# The advisory text is Copyright (C) 2001-2018 Gentoo Foundation, Inc.
# and licensed under the Creative Commons - Attribution / Share Alike 
# license. See http://creativecommons.org/licenses/by-sa/3.0/
#

include("compat.inc");

if (description)
{
  script_id(15581);
  script_version("1.20");
  script_cvs_date("Date: 2018/11/19 11:02:41");

  script_cve_id("CVE-2004-1008");
  script_xref(name:"GLSA", value:"200410-29");

  script_name(english:"GLSA-200410-29 : PuTTY: Pre-authentication buffer overflow");
  script_summary(english:"Checks for updated package(s) in /var/db/pkg");

  script_set_attribute(
    attribute:"synopsis", 
    value:
"The remote Gentoo host is missing one or more security-related
patches."
  );
  script_set_attribute(
    attribute:"description", 
    value:
"The remote host is affected by the vulnerability described in GLSA-200410-29
(PuTTY: Pre-authentication buffer overflow)

    PuTTY fails to do proper bounds checking on SSH2_MSG_DEBUG packets. The
    'stringlen' parameter value is incorrectly checked due to signedness
    issues. Note that this vulnerability is similar to the one described in
    GLSA 200408-04 but not the same.
  
Impact :

    When PuTTY connects to a server using the SSH2 protocol, an attacker
    may be able to send specially crafted packets to the client, resulting
    in the execution of arbitrary code with the permissions of the user
    running PuTTY. Note that this is possible during the authentication
    process but before host key verification.
  
Workaround :

    There is no known workaround at this time."
  );
  # http://www.idefense.com/application/poi/display?id=155
  script_set_attribute(
    attribute:"see_also",
    value:"http://www.nessus.org/u?f0cf3f40"
  );
  # http://www.chiark.greenend.org.uk/~sgtatham/putty/changes.html
  script_set_attribute(
    attribute:"see_also",
    value:"https://www.chiark.greenend.org.uk/~sgtatham/putty/changes.html"
  );
  script_set_attribute(
    attribute:"see_also",
    value:"https://security.gentoo.org/glsa/200410-29"
  );
  script_set_attribute(
    attribute:"solution", 
    value:
"All PuTTY users should upgrade to the latest version:
    # emerge --sync
    # emerge --ask --oneshot --verbose '>=net-misc/putty-0.56'"
  );
  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:gentoo:linux:putty");
  script_set_attribute(attribute:"cpe", value:"cpe:/o:gentoo:linux");

  script_set_attribute(attribute:"patch_publication_date", value:"2004/10/27");
  script_set_attribute(attribute:"plugin_publication_date", value:"2004/10/28");
  script_end_attributes();

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

  script_dependencies("ssh_get_info.nasl");
  script_require_keys("Host/local_checks_enabled", "Host/Gentoo/release", "Host/Gentoo/qpkg-list");

  exit(0);
}


include("audit.inc");
include("global_settings.inc");
include("qpkg.inc");

if (!get_kb_item("Host/local_checks_enabled")) audit(AUDIT_LOCAL_CHECKS_NOT_ENABLED);
if (!get_kb_item("Host/Gentoo/release")) audit(AUDIT_OS_NOT, "Gentoo");
if (!get_kb_item("Host/Gentoo/qpkg-list")) audit(AUDIT_PACKAGE_LIST_MISSING);


flag = 0;

if (qpkg_check(package:"net-misc/putty", unaffected:make_list("ge 0.56"), vulnerable:make_list("le 0.55"))) flag++;

if (flag)
{
  if (report_verbosity > 0) security_hole(port:0, extra:qpkg_report_get());
  else security_hole(0);
  exit(0);
}
else
{
  tested = qpkg_tests_get();
  if (tested) audit(AUDIT_PACKAGE_NOT_AFFECTED, tested);
  else audit(AUDIT_PACKAGE_NOT_INSTALLED, "PuTTY");
}