Macromedia Security Bulletin (MPSB01-08)
Best practice recommended to address new security issue in example applications released with ColdFusion Server versions 4.x and earlier.
Originally Posted: August 7, 2001
Summary
Example applications included in ColdFusion include demonstrations of file uploading and sending email.
These example applications are restricted to the localhost domain in version 4.x, but a new
vulnerability has been identified that could allow spoofing this domain, giving unauthorized
access to the example applications. Unauthorized users could send emails or upload executable
files to the web server root. This new vulnerability also affects a patch previously released
(ASB99-01) for the Expression Evaluator, which was included as a sample application in
versions 2.0, 3.x and 4.0.
To address these issues, Macromedia strongly recommends that customers remove all sample
applications and example code from production servers running any version of ColdFusion Server.
The security issues DO NOT affect ColdFusion Server 5.
Issues
Example Applications - ColdFusion Server ships with several example applications and more than 200 sample
code files. When optionally installed, these example application files are located with documentation under the CFDOCS/exampleapps/
directory. There are two example applications that are vulnerable to remote attackers
that may be queried using available web browsers: the "Web Publish Example Script" and
the "Email Example Script".
The intent of example applications is to allow a local developer to view several examples
of ColdFusion applications running locally on an installed ColdFusion Server. Included in each
of the example applications is a simple check against the "HTTP Host" variable validating that the
source request has come from either localhost or ip-address 127.0.0.1. The intent of this check is
to restrict use of the example applications to access from the machines where they are installed.
There are two CGI variables that can provide this information -- CGI.Host and CGI.REMOTE_ADDR. The
example applications in versions specified below use CGI.Host.
It is possible to easily spoof the IP address for CGI.Host on an HTTP request, and as a result
gain access to the example applications.
ColdFusion Server 5 switched from checking CGI.host to checking CGI.REMOTE_ADDR
(the IP address from which the webserver received the request.) While it is possible
to spoof an IP address at the IP protocol level - if this address is 127.0.0.1 (i.e. localhost),
no commercial-grade router will forward the message to a different domain. Certainly none
of the internet backbone routers will forward it. In other words - the attacker needs to be on
the same LAN as the web server to be able to try this kind of attack against ColdFusion 5.
Even in this case, the "in-house" attacker will not receive a response.
Nevertheless, Macromedia still recommends that customers do not install example applications or sample code
on production servers, the default install option.
If you are attempting to verify local users the use of CGI.REMOTE_ADDR is recommended.
The "Web Publish" example script exposes the ability to upload a file to the web server.
Once uploaded it can be executed from a URL. A remote attacker could therefore compromise the
server either silently or noticeably.
The "Email" example script demonstrates the ability to create and send an email message,
including the ability to add an attachment. Because an attachment can be mailed to any
valid email address, it exposes the ability to view any file on the system. A remote
attacker could therefore possibly view secure information housed on the server.
Debug Mode - Cold Fusion 4.5 allows the full path of any .cfm file to be obtained by appending
"mode=debug" on to the URL of the .cfm file being accessed. For example, if the file
http://yourtarget/index.cfm exists, a remote user can access
http://yourtarget/index.cfm?mode=debug to obtain the full path of the index.cfm file.
As recommended in the Security Best Practices,
to avoid this issue customers are advised to add an IP address to the Admin debug page. This
restricts debug info to only the specified address.
Affected Software Versions
- ColdFusion Server for Windows 2.x, 3.x, 4.x (All Editions)
- ColdFusion Server for Solaris 4.x (All Editions)
- ColdFusion Server for HPUX 4.x (All Editions)
- ColdFusion Server for Linux 4.5.x (All Editions)
- Expression Evaluator Patch (ASB99-01)
What Macromedia Is Doing
Macromedia has notified customers of the security issues through standard
communication channels.
No patch will be released for these issues. In general, Macromedia continues to
recommend that customers remove all example applications and documentation
(the entire CFDOCS directory) from production servers and restrict access to
CFDOCS on developer workstations.
What Customers Should Do
Customers are advised to verify all production servers ensuring that
example applications are not installed and to remove them if they are.
Examples are installed in /CFDOCS/exampleapps/*
Customers should completely remove the CFDOCS directory on production servers and
restrict access to it on developer workstations.
Furthermore, Macromedia recommends that customers do not install any documentation,
sample code, example applications, and tutorials on production servers. The
examples that are optionally installed with ColdFusion are installed in the
CFDOCS directory, which is normally installed in the root of the Web server
directory. This directory should not be installed on production servers and
access to the CFDOCS directory should be restricted on developer workstations.
As a general security best practice, sample code and example applications should
never be installed on production servers.
Customers are also advised to add an IP address to the Admin debug page therefore restricting debug info
to only the specified address.
Macromedia provides documented Security Best Practices
that all customers are advised to
review prior to the deployment of production web applications.
Revisions
August 7, 2001 - Bulletin first released.
Credit
Macromedia would like to thank Internet Security Systems (ISS) X-Force for bringing
this issue to our attention.
Reporting Security Issues
Macromedia is committed to addressing security issues and providing customers
with the information on how they can protect themselves. If you identify what
you believe may be a security issue with a Macromedia product, please send an
email to secure@macromedia.com. We will
work to appropriately address and communicate the issue.
Receiving Security Bulletins
When Macromedia becomes aware of a security issue that we believe significantly
affects our products or customers, we will notify customers when appropriate.
Typically this notification will be in the form of a security bulletin explaining
the issue and the response. Macromedia customers who would like to receive notification
of new security bulletins when they are released can sign up for our security
notification service.
For additional information on security issues at Macromedia,
please visit: http://www.macromedia.com/security.
THE INFORMATION PROVIDED BY MACROMEDIA IN THIS BULLETIN IS PROVIDED
"AS IS" WITHOUT WARRANTY OF ANY KIND. MACROMEDIA AND ITS SUPPLIERS DISCLAIM
ALL WARRANTIES, WHETHER EXPRESS OR IMPLIED OR OTHERWISE, INCLUDING THE WARRANTIES
OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. ALSO, THERE IS NO WARRANTY
OF NON-INFRINGEMENT, TITLE OR QUIET ENJOYMENT. (USA ONLY) SOME STATES DO NOT
ALLOW THE EXCLUSION OF IMPLIED WARRANTIES, SO THE ABOVE EXCLUSION MAY NOT APPLY
TO YOU.
IN NO EVENT SHALL MACROMEDIA, INC. OR ITS SUPPLIERS BE LIABLE FOR ANY DAMAGES
WHATSOEVER INCLUDING, WITHOUT LIMITATION, DIRECT, INDIRECT, INCIDENTAL, CONSEQUENTIAL,
SPECIAL, PUNITIVE, COVER, LOSS OF PROFITS, BUSINESS INTERRUPTION OR THE LIKE,
OR LOSS OF BUSINESS DAMAGES, BASED ON ANY THEORY OF LIABILITY INCLUDING BREACH
OF CONTRACT, BREACH OF WARRANTY, TORT(INCLUDING NEGLIGENCE), PRODUCT LIABILITY
OR OTHERWISE, EVEN IF MACROMEDIA, INC. OR ITS SUPPLIERS OR THEIR REPRESENTATIVES
HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. (USA ONLY) SOME STATES
DO NOT ALLOW THE EXCLUSION OR LIMITATION OF LIABILITY FOR CONSEQUENTIAL OR INCIDENTAL
DAMAGES, SO THE ABOVE EXCLUSION OR LIMITATION MAY NOT APPLY TO YOU AND YOU MAY
ALSO HAVE OTHER LEGAL RIGHTS THAT VARY FROM STATE TO STATE.
Macromedia
reserves the right, from time to time, to update the information in this
document with current information.