Vulnerabilities > CVE-2018-20234 - Argument Injection or Modification vulnerability in Atlassian Sourcetree

047910
CVSS 9.0 - CRITICAL
Attack vector
NETWORK
Attack complexity
LOW
Privileges required
SINGLE
Confidentiality impact
COMPLETE
Integrity impact
COMPLETE
Availability impact
COMPLETE
network
low complexity
atlassian
CWE-88
critical
nessus

Summary

There was an argument injection vulnerability in Atlassian Sourcetree for macOS from version 1.2 before version 3.1.1 via filenames in Mercurial repositories. A remote attacker with permission to commit to a Mercurial repository linked in Sourcetree for macOS is able to exploit this issue to gain code execution on the system.

Vulnerable Configurations

Part Description Count
Application
Atlassian
112

Common Weakness Enumeration (CWE)

Common Attack Pattern Enumeration and Classification (CAPEC)

  • Try All Common Application Switches and Options
    An attacker attempts to invoke all common switches and options in the target application for the purpose of discovering weaknesses in the target. For example, in some applications, adding a --debug switch causes debugging information to be displayed, which can sometimes reveal sensitive processing or configuration information to an attacker. This attack differs from other forms of API abuse in that the attacker is blindly attempting to invoke options in the hope that one of them will work rather than specifically targeting a known option. Nonetheless, even if the attacker is familiar with the published options of a targeted application this attack method may still be fruitful as it might discover unpublicized functionality.
  • Using Meta-characters in E-mail Headers to Inject Malicious Payloads
    This type of attack involves an attacker leveraging meta-characters in email headers to inject improper behavior into email programs. Email software has become increasingly sophisticated and feature-rich. In addition, email applications are ubiquitous and connected directly to the Web making them ideal targets to launch and propagate attacks. As the user demand for new functionality in email applications grows, they become more like browsers with complex rendering and plug in routines. As more email functionality is included and abstracted from the user, this creates opportunities for attackers. Virtually all email applications do not list email header information by default, however the email header contains valuable attacker vectors for the attacker to exploit particularly if the behavior of the email client application is known. Meta-characters are hidden from the user, but can contain scripts, enumerations, probes, and other attacks against the user's system.
  • HTTP Parameter Pollution (HPP)
    An attacker overrides or adds HTTP GET/POST parameters by injecting query string delimiters. Via HPP it may be possible to override existing hardcoded HTTP parameters, modify the application behaviors, access and, potentially exploit, uncontrollable variables, and bypass input validation checkpoints and WAF rules.
  • OS Command Injection
    In this type of an attack, an adversary injects operating system commands into existing application functions. An application that uses untrusted input to build command strings is vulnerable. An adversary can leverage OS command injection in an application to elevate privileges, execute arbitrary commands and compromise the underlying operating system.

Nessus

  • NASL familyMacOS X Local Security Checks
    NASL idATLASSIAN_SOURCETREE_3_1_1_MACOSX.NASL
    descriptionThe version of Atlassian SourceTree installed on the remote Windows host is version 1.2 prior to 3.1.1. It is, therefore, affected by multiple remote code execution vulnerabilities. - An option injection vulnerability exists in the git submodule component. An unauthenticated, remote attacker can exploit this via the processing of a recursive git clone of a project with a specially crafted .gitmodules file, to execute arbitrary commands. (CVE-2018-17456) - An argument injection vulnerability exists in the Mercurial repository component. An authenticated, remote attacker can exploit this via filenames in the Mercurial repositories to execute arbitrary commands. (CVE-2018-20234, CVE-2018-20235) - A command injection vulnerability exists in the URI handling component. An unauthenticated, remote attacker could exploit this via sending a malicious URI to a victim to execution arbitrary commands. (CVE-2018-20236) Note that Nessus has not tested for these issues but has instead relied only on the application
    last seen2020-06-01
    modified2020-06-02
    plugin id124411
    published2019-04-30
    reporterThis script is Copyright (C) 2019 and is owned by Tenable, Inc. or an Affiliate thereof.
    sourcehttps://www.tenable.com/plugins/nessus/124411
    titleAtlassian SourceTree 1.2 < 3.1.1 Multiple remote code execution vulnerabilities
    code
    #
    # (C) Tenable Network Security, Inc.
    #
    
    include("compat.inc");
    
    if (description)
    {
      script_id(124411);
      script_version("1.3");
      script_cvs_date("Date: 2019/05/17  9:44:17");
    
      script_cve_id(
        "CVE-2018-17456",
        "CVE-2018-20234",
        "CVE-2018-20235",
        "CVE-2018-20236"
      );
      script_bugtraq_id(
        105523,
        107401,
        107407,
        107414
      );
    
      script_name(english:"Atlassian SourceTree 1.2 < 3.1.1 Multiple remote code execution vulnerabilities");
      script_summary(english:"Checks the version of Atlassian SourceTree.");
    
      script_set_attribute(attribute:"synopsis", value:
    "The version of Atlassian SourceTree installed on the remote Windows
    host is affected by multiple remote code execution vulnerabilities.");
      script_set_attribute(attribute:"description", value:
    "The version of Atlassian SourceTree installed on the remote Windows
    host is version 1.2 prior to 3.1.1. It is, therefore, affected by
    multiple remote code execution vulnerabilities.
    
      - An option injection vulnerability exists in the git submodule component. An unauthenticated, remote attacker can
      exploit this via the processing of a recursive git clone of a project with a specially crafted .gitmodules file, to
      execute arbitrary commands. (CVE-2018-17456)
    
      - An argument injection vulnerability exists in the Mercurial repository component. An authenticated, remote attacker
      can exploit this via filenames in the Mercurial repositories to execute arbitrary commands. (CVE-2018-20234, 
      CVE-2018-20235)
    
      - A command injection vulnerability exists in the URI handling component. An unauthenticated, remote attacker could
      exploit this via sending a malicious URI to a victim to execution arbitrary commands. (CVE-2018-20236)
    
    Note that Nessus has not tested for these issues but has instead relied only on the application's self-reported version
    number.
    ");
      # https://confluence.atlassian.com/sourcetreekb/sourcetree-security-advisory-2019-03-06-966678691.html
      script_set_attribute(attribute:"see_also", value:"http://www.nessus.org/u?e9103cc4");
      script_set_attribute(attribute:"solution", value:
    "Upgrade to Atlassian SourceTree 3.1.1 or later.");
      script_set_cvss_base_vector("CVSS2#AV:N/AC:M/Au:N/C:C/I:C/A:C");
      script_set_cvss_temporal_vector("CVSS2#E:F/RL:OF/RC:C");
      script_set_cvss3_base_vector("CVSS:3.0/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H");
      script_set_cvss3_temporal_vector("CVSS:3.0/E:F/RL:O/RC:C");
      script_set_attribute(attribute:"cvss_score_source", value:"CVE-2018-20236");
      script_set_attribute(attribute:"exploitability_ease", value:"Exploits are available");
      script_set_attribute(attribute:"exploit_available", value:"true");
      script_set_attribute(attribute:"metasploit_name", value:'Malicious Git HTTP Server For CVE-2018-17456');
      script_set_attribute(attribute:"exploit_framework_metasploit", value:"true");
    
    
      script_set_attribute(attribute:"vuln_publication_date", value:"2019/03/06");
      script_set_attribute(attribute:"patch_publication_date", value:"2019/03/06");
      script_set_attribute(attribute:"plugin_publication_date", value:"2019/04/30");
    
      script_set_attribute(attribute:"plugin_type", value:"local");
      script_set_attribute(attribute:"cpe", value:"cpe:/a:atlassian:sourcetree");
      script_end_attributes();
    
      script_category(ACT_GATHER_INFO);
      script_family(english:"MacOS X Local Security Checks");
    
      script_copyright(english:"This script is Copyright (C) 2019 and is owned by Tenable, Inc. or an Affiliate thereof.");
    
      script_dependencies("atlassian_sourcetree_detect_macosx.nbin");
      script_require_keys("Host/MacOSX/Version", "installed_sw/SourceTree");
    
      exit(0);
    }
    
    include("vcf.inc");
    include("vcf_extras.inc");
    
    app_info = vcf::get_app_info(app:"SourceTree");
    
    #atlassian_sourcetree add conversions for b --> beta and a --> alpha  
    vcf::atlassian_sourcetree::initialize(); 
    
    constraints = [{ "min_version" : "1.2", "fixed_version" : "3.1.1" }];
    
    vcf::check_version_and_report(app_info:app_info, constraints:constraints, severity:SECURITY_HOLE);
    
  • NASL familyWindows
    NASL idATLASSIAN_SOURCETREE_3_0_17.NASL
    descriptionThe version of Atlassian SourceTree installed on the remote Windows host is version 0.5a prior to 3.0.17. It is, therefore, affected by multiple remote code execution vulnerabilities. - An option injection vulnerability exists in the git submodule component. An unauthenticated, remote attacker can exploit this via the processing of a recursive git clone of a project with a specially crafted .gitmodules file, to execute arbitrary commands. (CVE-2018-17456) - An argument injection vulnerability exists in the Mercurial repository component. An authenticated, remote attacker can exploit this via filenames in the Mercurial repositories to execute arbitrary commands. (CVE-2018-20234, CVE-2018-20235) - A command injection vulnerability exists in the URI handling component. An unauthenticated, remote attacker could exploit this via sending a malicious URI to a victim to execution arbitrary commands. (CVE-2018-20236) Note that Nessus has not tested for these issues but has instead relied only on the application
    last seen2020-06-01
    modified2020-06-02
    plugin id122854
    published2019-03-14
    reporterThis script is Copyright (C) 2019 and is owned by Tenable, Inc. or an Affiliate thereof.
    sourcehttps://www.tenable.com/plugins/nessus/122854
    titleAtlassian SourceTree 0.5a < 3.0.17 Multiple remote code execution vulnerabilities