Vulnerabilities > CVE-2012-1183 - Improper Restriction of Operations Within the Bounds of A Memory Buffer vulnerability in multiple products

047910
CVSS 4.3 - MEDIUM
Attack vector
NETWORK
Attack complexity
MEDIUM
Privileges required
NONE
Confidentiality impact
NONE
Integrity impact
NONE
Availability impact
PARTIAL
network
digium
debian
CWE-119
nessus

Summary

Stack-based buffer overflow in the milliwatt_generate function in the Miliwatt application in Asterisk 1.4.x before 1.4.44, 1.6.x before 1.6.2.23, 1.8.x before 1.8.10.1, and 10.x before 10.2.1, when the o option is used and the internal_timing option is off, allows remote attackers to cause a denial of service (application crash) via a large number of samples in an audio packet.

Vulnerable Configurations

Part Description Count
Application
Digium
389
OS
Debian
1

Common Attack Pattern Enumeration and Classification (CAPEC)

  • Buffer Overflow via Environment Variables
    This attack pattern involves causing a buffer overflow through manipulation of environment variables. Once the attacker finds that they can modify an environment variable, they may try to overflow associated buffers. This attack leverages implicit trust often placed in environment variables.
  • Overflow Buffers
    Buffer Overflow attacks target improper or missing bounds checking on buffer operations, typically triggered by input injected by an attacker. As a consequence, an attacker is able to write past the boundaries of allocated buffer regions in memory, causing a program crash or potentially redirection of execution as per the attackers' choice.
  • Client-side Injection-induced Buffer Overflow
    This type of attack exploits a buffer overflow vulnerability in targeted client software through injection of malicious content from a custom-built hostile service.
  • Filter Failure through Buffer Overflow
    In this attack, the idea is to cause an active filter to fail by causing an oversized transaction. An attacker may try to feed overly long input strings to the program in an attempt to overwhelm the filter (by causing a buffer overflow) and hoping that the filter does not fail securely (i.e. the user input is let into the system unfiltered).
  • MIME Conversion
    An attacker exploits a weakness in the MIME conversion routine to cause a buffer overflow and gain control over the mail server machine. The MIME system is designed to allow various different information formats to be interpreted and sent via e-mail. Attack points exist when data are converted to MIME compatible format and back.

Nessus

  • NASL familyMisc.
    NASL idASTERISK_AST_2012_002.NASL
    descriptionAccording to the version in its SIP banner, the version of Asterisk running on the remote host is potentially affected by a vulnerability that could allow a remote attacker to crash the server. The vulnerability can be triggered by sending large audio packets (if the internal_timing option is off), or by negotiating a media format with a sampling rate greater than 32 kHz. Both attacks require that the dialplan use the Milliwatt application with the
    last seen2020-06-01
    modified2020-06-02
    plugin id58432
    published2012-03-22
    reporterThis script is Copyright (C) 2012-2018 Tenable Network Security, Inc.
    sourcehttps://www.tenable.com/plugins/nessus/58432
    titleAsterisk milliwatt_generate Function Internal Data Sample Packet Parsing Remote DoS (AST-2012-002)
    code
    #
    # (C) Tenable Network Security, Inc.
    #
    
    include("compat.inc");
    
    if (description)
    {
      script_id(58432);
      script_version("1.12");
      script_cvs_date("Date: 2018/06/27 18:42:26");
    
      script_cve_id("CVE-2012-1183");
      script_bugtraq_id(52523);
    
      script_name(english:"Asterisk milliwatt_generate Function Internal Data Sample Packet Parsing Remote DoS (AST-2012-002)");
      script_summary(english:"Checks version in SIP banner");
    
      script_set_attribute(
        attribute:"synopsis",
        value:
    "A telephony application running on the remote host is affected by a
    denial of service vulnerability."
      );
      script_set_attribute(
        attribute:"description",
        value:
    "According to the version in its SIP banner, the version of Asterisk
    running on the remote host is potentially affected by a vulnerability
    that could allow a remote attacker to crash the server.  The
    vulnerability can be triggered by sending large audio packets (if the
    internal_timing option is off), or by negotiating a media format with
    a sampling rate greater than 32 kHz.  Both attacks require that the
    dialplan use the Milliwatt application with the 'o' option."
      );
      script_set_attribute(attribute:"see_also", value:"http://downloads.asterisk.org/pub/security/AST-2012-002.html");
      script_set_attribute(
        attribute:"solution",
        value:
    "Upgrade to Asterisk 1.4.44 / 1.6.2.23 / 1.8.10.1 / 10.2.1 or apply
    the patches listed in the Asterisk advisory."
      );
      script_set_cvss_base_vector("CVSS2#AV:N/AC:M/Au:N/C:N/I:N/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:"vuln_publication_date", value:"2012/03/15");
      script_set_attribute(attribute:"patch_publication_date", value:"2012/01/15");
      script_set_attribute(attribute:"plugin_publication_date", value:"2012/03/22");
    
      script_set_attribute(attribute:"potential_vulnerability", value:"true");
      script_set_attribute(attribute:"plugin_type", value:"remote");
      script_set_attribute(attribute:"cpe", value:"cpe:/a:digium:asterisk");
      script_end_attributes();
    
      script_category(ACT_GATHER_INFO);
      script_family(english:"Misc.");
    
      script_copyright(english:"This script is Copyright (C) 2012-2018 Tenable Network Security, Inc.");
    
      script_dependencies("asterisk_detection.nasl");
      script_require_keys("asterisk/sip_detected", "Settings/ParanoidReport");
    
      exit(0);
    }
    
    include("audit.inc");
    include("global_settings.inc");
    include("misc_func.inc");
    
    get_kb_item_or_exit("asterisk/sip_detected");
    
    # see if we were able to get version info from the Asterisk SIP services
    asterisk_kbs = get_kb_list("sip/asterisk/*/version");
    if (isnull(asterisk_kbs)) exit(1, "Could not obtain any version information from the Asterisk SIP instance(s).");
    
    # Prevent potential false positives.
    if (report_paranoia < 2) audit(AUDIT_PARANOID);
    
    is_vuln = FALSE;
    not_vuln_installs = make_list();
    errors = make_list();
    
    foreach kb_name (keys(asterisk_kbs))
    {
      vulnerable = 0;
    
      matches = eregmatch(pattern:"/(udp|tcp)/([0-9]+)/version", string:kb_name);
      if (isnull(matches))
      {
        errors = make_list(errors, "Unexpected error parsing port number from kb name: "+kb_name);
        continue;
      }
    
      proto = matches[1];
      port  = matches[2];
      version = asterisk_kbs[kb_name];
    
      if (version == 'unknown')
      {
        errors = make_list(errors, "Unable to obtain version of install on " + proto + "/" + port);
        continue;
      }
    
      banner = get_kb_item("sip/asterisk/" + proto + "/" + port + "/source");
      if (!banner)
      {
        # We have version but banner is missing; log error
        # and use in version-check though.
        errors = make_list(errors, "KB item 'sip/asterisk/" + proto + "/" + port + "/source' is missing");
        banner = 'unknown';
      }
    
      if (version =~ "^1\.4([^0-9]|$)")
      {
        fixed = "1.4.44";
        vulnerable = ver_compare(ver:version, fix:fixed, app:"asterisk");
      }
      else if (version =~ "^1\.6\.2([^0-9]|$)")
      {
        fixed = "1.6.2.23";
        vulnerable = ver_compare(ver:version, fix:fixed, app:"asterisk");
      }
      else if (version =~ "^1\.8([^0-9]|$)")
      {
        fixed = "1.8.10.1";
        vulnerable = ver_compare(ver:version, fix:fixed, app:"asterisk");
      }
      else if (version =~ "^10([^0-9]|$)")
      {
        fixed = "10.2.1";
        vulnerable = ver_compare(ver:version, fix:fixed, app:"asterisk");
      }
    
      if (vulnerable < 0)
      {
        is_vuln = TRUE;
        if (report_verbosity > 0)
        {
          report =
            '\n  Version source    : ' + banner +
            '\n  Installed version : ' + version +
            '\n  Fixed version     : ' + fixed + '\n';
          security_warning(port:port, proto:proto, extra:report);
        }
        else security_warning(port:port, proto:proto);
      }
      else not_vuln_installs = make_list(not_vuln_installs, version + " on port " + proto + "/" + port);
    }
    
    if (max_index(errors))
    {
      if (max_index(errors) == 1) errmsg = errors[0];
      else errmsg = 'Errors were encountered verifying installs : \n  ' + join(errors, sep:'\n  ');
    
      exit(1, errmsg);
    }
    else
    {
      installs = max_index(not_vuln_installs);
      if (installs == 0)
      {
        if (is_vuln)
          exit(0);
        else
          audit(AUDIT_NOT_INST, "Asterisk");
      }
      else if (installs == 1) audit(AUDIT_INST_VER_NOT_VULN, "Asterisk " + not_vuln_installs[0]);
      else exit(0, "The Asterisk installs (" + join(not_vuln_installs, sep:", ") + ") are not affected.");
    }
    
  • NASL familyFedora Local Security Checks
    NASL idFEDORA_2012-6704.NASL
    descriptionThe Asterisk Development Team has announced security releases for Asterisk 1.6.2, 1.8, and 10. The available security releases are released as versions 1.6.2.24, 1.8.11.1, and 10.3.1. These releases are available for immediate download at http://downloads.asterisk.org/pub/telephony/asterisk/releases The release of Asterisk 1.6.2.24, 1.8.11.1, and 10.3.1 resolve the following two issues : - A permission escalation vulnerability in Asterisk Manager Interface. This would potentially allow remote authenticated users the ability to execute commands on the system shell with the privileges of the user running the Asterisk application. - A heap overflow vulnerability in the Skinny Channel driver. The keypad button message event failed to check the length of a fixed length buffer before appending a received digit to the end of that buffer. A remote authenticated user could send sufficient keypad button message events that the buffer would be overrun. In addition, the release of Asterisk 1.8.11.1 and 10.3.1 resolve the following issue : - A remote crash vulnerability in the SIP channel driver when processing UPDATE requests. If a SIP UPDATE request was received indicating a connected line update after a channel was terminated but before the final destruction of the associated SIP dialog, Asterisk would attempt a connected line update on a non-existing channel, causing a crash. These issues and their resolution are described in the security advisories. For more information about the details of these vulnerabilities, please read security advisories AST-2012-004, AST-2012-005, and AST-2012-006, which were released at the same time as this announcement. For a full list of changes in the current releases, please see the ChangeLogs : http://downloads.asterisk.org/pub/telephony/asterisk/releases/ChangeLo g-1.6.2.24 http://downloads.asterisk.org/pub/telephony/asterisk/releases/ChangeLo g-1.8.11.1 http://downloads.asterisk.org/pub/telephony/asterisk/releases/ChangeLo g-10.3.1 The security advisories are available at : - http://downloads.asterisk.org/pub/security/AST-2012-004. pdf - http://downloads.asterisk.org/pub/security/AST-2012-00 5.pdf - http://downloads.asterisk.org/pub/security/AST-2012-00 6.pdf Update to 1.8.11.0 Update to 1.8.10.1, which fixes 2 security vulnerabilities. Note that Tenable Network Security has extracted the preceding description block directly from the Fedora security advisory. Tenable has attempted to automatically clean and format it as much as possible without introducing additional issues.
    last seen2020-03-17
    modified2012-05-07
    plugin id59002
    published2012-05-07
    reporterThis script is Copyright (C) 2012-2020 and is owned by Tenable, Inc. or an Affiliate thereof.
    sourcehttps://www.tenable.com/plugins/nessus/59002
    titleFedora 17 : asterisk-10.3.1-1.fc17 (2012-6704)
  • NASL familyFedora Local Security Checks
    NASL idFEDORA_2012-4230.NASL
    descriptionUpdate to 10.2.1, which fixes 2 security vulnerabilities. Note that Tenable Network Security has extracted the preceding description block directly from the Fedora security advisory. Tenable has attempted to automatically clean and format it as much as possible without introducing additional issues.
    last seen2020-03-17
    modified2012-04-12
    plugin id58691
    published2012-04-12
    reporterThis script is Copyright (C) 2012-2020 Tenable Network Security, Inc.
    sourcehttps://www.tenable.com/plugins/nessus/58691
    titleFedora 17 : asterisk-10.2.1-1.fc17 (2012-4230)
  • NASL familyGentoo Local Security Checks
    NASL idGENTOO_GLSA-201203-21.NASL
    descriptionThe remote host is affected by the vulnerability described in GLSA-201203-21 (Asterisk: Multiple vulnerabilities) Two vulnerabilities have been found in Asterisk: The
    last seen2020-06-01
    modified2020-06-02
    plugin id59613
    published2012-06-21
    reporterThis script is Copyright (C) 2012-2018 Tenable Network Security, Inc.
    sourcehttps://www.tenable.com/plugins/nessus/59613
    titleGLSA-201203-21 : Asterisk: Multiple vulnerabilities
  • NASL familyFedora Local Security Checks
    NASL idFEDORA_2012-4259.NASL
    descriptionUpdate to 1.8.10.1, which fixes 2 security vulnerabilities. The Asterisk Development Team has announced security releases for Asterisk 1.4, 1.6.2 and 1.8. The available security releases are released as versions 1.4.43, 1.6.2.21 and 1.8.7.2. These releases are available for immediate download at http://downloads.asterisk.org/pub/telephony/asterisk/releases The release of Asterisk versions 1.4.43, 1.6.2.21, and 1.8.7.2 resolves an issue with possible remote enumeration of SIP endpoints with differing NAT settings. The release of Asterisk versions 1.6.2.21 and 1.8.7.2 resolves a remote crash possibility with SIP when the
    last seen2020-03-17
    modified2012-04-02
    plugin id58549
    published2012-04-02
    reporterThis script is Copyright (C) 2012-2020 and is owned by Tenable, Inc. or an Affiliate thereof.
    sourcehttps://www.tenable.com/plugins/nessus/58549
    titleFedora 15 : asterisk-1.8.10.1-1.fc15 (2012-4259)
  • NASL familyFedora Local Security Checks
    NASL idFEDORA_2012-4318.NASL
    descriptionUpdate to 1.8.10.1, which fixes 2 security vulnerabilities. Note that Tenable Network Security has extracted the preceding description block directly from the Fedora security advisory. Tenable has attempted to automatically clean and format it as much as possible without introducing additional issues.
    last seen2020-03-17
    modified2012-04-02
    plugin id58550
    published2012-04-02
    reporterThis script is Copyright (C) 2012-2020 Tenable Network Security, Inc.
    sourcehttps://www.tenable.com/plugins/nessus/58550
    titleFedora 16 : asterisk-1.8.10.1-1.fc16 (2012-4318)
  • NASL familyDebian Local Security Checks
    NASL idDEBIAN_DSA-2460.NASL
    descriptionSeveral vulnerabilities were discovered in the Asterisk PBX and telephony toolkit : - CVE-2012-1183 Russell Bryant discovered a buffer overflow in the Milliwatt application. - CVE-2012-2414 David Woolley discovered a privilege escalation in the Asterisk manager interface. - CVE-2012-2415 Russell Bryant discovered a buffer overflow in the Skinny driver.
    last seen2020-03-17
    modified2012-04-26
    plugin id58880
    published2012-04-26
    reporterThis script is Copyright (C) 2012-2020 and is owned by Tenable, Inc. or an Affiliate thereof.
    sourcehttps://www.tenable.com/plugins/nessus/58880
    titleDebian DSA-2460-1 : asterisk - several vulnerabilities
  • NASL familyFedora Local Security Checks
    NASL idFEDORA_2012-6612.NASL
    descriptionThe Asterisk Development Team has announced security releases for Asterisk 1.6.2, 1.8, and 10. The available security releases are released as versions 1.6.2.24, 1.8.11.1, and 10.3.1. These releases are available for immediate download at http://downloads.asterisk.org/pub/telephony/asterisk/releases The release of Asterisk 1.6.2.24, 1.8.11.1, and 10.3.1 resolve the following two issues : - A permission escalation vulnerability in Asterisk Manager Interface. This would potentially allow remote authenticated users the ability to execute commands on the system shell with the privileges of the user running the Asterisk application. - A heap overflow vulnerability in the Skinny Channel driver. The keypad button message event failed to check the length of a fixed length buffer before appending a received digit to the end of that buffer. A remote authenticated user could send sufficient keypad button message events that the buffer would be overrun. In addition, the release of Asterisk 1.8.11.1 and 10.3.1 resolve the following issue : - A remote crash vulnerability in the SIP channel driver when processing UPDATE requests. If a SIP UPDATE request was received indicating a connected line update after a channel was terminated but before the final destruction of the associated SIP dialog, Asterisk would attempt a connected line update on a non-existing channel, causing a crash. These issues and their resolution are described in the security advisories. For more information about the details of these vulnerabilities, please read security advisories AST-2012-004, AST-2012-005, and AST-2012-006, which were released at the same time as this announcement. For a full list of changes in the current releases, please see the ChangeLogs : http://downloads.asterisk.org/pub/telephony/asterisk/releases/ChangeLo g-1.6.2.24 http://downloads.asterisk.org/pub/telephony/asterisk/releases/ChangeLo g-1.8.11.1 http://downloads.asterisk.org/pub/telephony/asterisk/releases/ChangeLo g-10.3.1 The security advisories are available at : - http://downloads.asterisk.org/pub/security/AST-2012-004. pdf - http://downloads.asterisk.org/pub/security/AST-2012-00 5.pdf - http://downloads.asterisk.org/pub/security/AST-2012-00 6.pdf Update to 1.8.11.0 Update to 1.8.10.1, which fixes 2 security vulnerabilities. Note that Tenable Network Security has extracted the preceding description block directly from the Fedora security advisory. Tenable has attempted to automatically clean and format it as much as possible without introducing additional issues.
    last seen2020-03-17
    modified2012-05-04
    plugin id58981
    published2012-05-04
    reporterThis script is Copyright (C) 2012-2020 and is owned by Tenable, Inc. or an Affiliate thereof.
    sourcehttps://www.tenable.com/plugins/nessus/58981
    titleFedora 16 : asterisk-1.8.11.1-1.fc16 (2012-6612)