Vulnerabilities > CVE-2009-3617 - Use of Externally-Controlled Format String vulnerability in Tatsuhiro Tsujikawa Aria2

047910
CVSS 0.0 - NONE
Attack vector
UNKNOWN
Attack complexity
UNKNOWN
Privileges required
UNKNOWN
Confidentiality impact
UNKNOWN
Integrity impact
UNKNOWN
Availability impact
UNKNOWN

Summary

Format string vulnerability in the AbstractCommand::onAbort function in src/AbstractCommand.cc in aria2 before 1.6.2, when logging is enabled, allows remote attackers to execute arbitrary code or cause a denial of service (application crash) via format string specifiers in a download URI. NOTE: some of these details are obtained from third party information.

Common Attack Pattern Enumeration and Classification (CAPEC)

  • Format String Injection
    An attacker includes formatting characters in a string input field on the target application. Most applications assume that users will provide static text and may respond unpredictably to the presence of formatting character. For example, in certain functions of the C programming languages such as printf, the formatting character %s will print the contents of a memory location expecting this location to identify a string and the formatting character %n prints the number of DWORD written in the memory. An attacker can use this to read or write to memory locations or files, or simply to manipulate the value of the resulting text in unexpected ways. Reading or writing memory may result in program crashes and writing memory could result in the execution of arbitrary code if the attacker can write to the program stack.
  • String Format Overflow in syslog()
    This attack targets the format string vulnerabilities in the syslog() function. An attacker would typically inject malicious input in the format string parameter of the syslog function. This is a common problem, and many public vulnerabilities and associated exploits have been posted.

Nessus

NASL familyGentoo Local Security Checks
NASL idGENTOO_GLSA-201001-06.NASL
descriptionThe remote host is affected by the vulnerability described in GLSA-201001-06 (aria2: Multiple vulnerabilities) Tatsuhiro Tsujikawa reported a buffer overflow in DHTRoutingTableDeserializer.cc (CVE-2009-3575) and a format string vulnerability in the AbstractCommand::onAbort() function in src/AbstractCommand.cc (CVE-2009-3617). Impact : A remote, unauthenticated attacker could possibly execute arbitrary code with the privileges of the user running the application or cause a Denial of Service (application crash). Workaround : Do not use DHT (CVE-2009-3575) and disable logging (CVE-2009-3617).
last seen2020-06-01
modified2020-06-02
plugin id44895
published2010-02-25
reporterThis script is Copyright (C) 2010-2019 Tenable Network Security, Inc.
sourcehttps://www.tenable.com/plugins/nessus/44895
titleGLSA-201001-06 : aria2: Multiple vulnerabilities
code
#%NASL_MIN_LEVEL 80502
#
# (C) Tenable Network Security, Inc.
#
# The descriptive text and package checks in this plugin were
# extracted from Gentoo Linux Security Advisory GLSA 201001-06.
#
# The advisory text is Copyright (C) 2001-2015 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(44895);
  script_version("1.8");
  script_cvs_date("Date: 2019/08/02 13:32:45");

  script_cve_id("CVE-2009-3575", "CVE-2009-3617");
  script_xref(name:"GLSA", value:"201001-06");

  script_name(english:"GLSA-201001-06 : aria2: Multiple vulnerabilities");
  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-201001-06
(aria2: Multiple vulnerabilities)

    Tatsuhiro Tsujikawa reported a buffer overflow in
    DHTRoutingTableDeserializer.cc (CVE-2009-3575) and a format string
    vulnerability in the AbstractCommand::onAbort() function in
    src/AbstractCommand.cc (CVE-2009-3617).
  
Impact :

    A remote, unauthenticated attacker could possibly execute arbitrary
    code with the privileges of the user running the application or cause a
    Denial of Service (application crash).
  
Workaround :

    Do not use DHT (CVE-2009-3575) and disable logging (CVE-2009-3617)."
  );
  script_set_attribute(
    attribute:"see_also",
    value:"https://security.gentoo.org/glsa/201001-06"
  );
  script_set_attribute(
    attribute:"solution", 
    value:
"All aria2 users should upgrade to the latest version:
    # emerge --sync
    # emerge --ask --oneshot --verbose '>=net-misc/aria2-1.6.3'"
  );
  script_set_cvss_base_vector("CVSS2#AV:N/AC:L/Au:N/C:C/I:C/A:C");
  script_cwe_id(134);

  script_set_attribute(attribute:"plugin_type", value:"local");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:gentoo:linux:aria2");
  script_set_attribute(attribute:"cpe", value:"cpe:/o:gentoo:linux");

  script_set_attribute(attribute:"patch_publication_date", value:"2010/01/13");
  script_set_attribute(attribute:"plugin_publication_date", value:"2010/02/25");
  script_end_attributes();

  script_category(ACT_GATHER_INFO);
  script_copyright(english:"This script is Copyright (C) 2010-2019 Tenable Network Security, Inc.");
  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/aria2", unaffected:make_list("ge 1.6.3"), vulnerable:make_list("lt 1.6.3"))) 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, "aria2");
}

Seebug

bulletinFamilyexploit
descriptionCVE ID: CVE-2009-3617 aria2是Linux下的高速下载工具。 aria2的src/AbstractCommand.cc文件中的AbstractCommand::onAbort函数存在格式串漏洞。如果启用了日志功能,远程攻击者就可以在下载URI中包含printf格式串标识符触发分段错误,导致拒绝服务的情况。 aria2 < 1.6.2 厂商补丁: aria2 ----- 目前厂商已经发布了升级补丁以修复这个安全问题,请到厂商的主页下载: http://aria2.svn.sourceforge.net/viewvc/aria2/trunk/src/AbstractCommand.cc?r1=1539&r2=1572
idSSV:12513
last seen2017-11-19
modified2009-10-22
published2009-10-22
reporterRoot
titlearia2 AbstractCommand::onAbort()函数格式串漏洞