Autodesk 3DS Max Application Callbacks Arbitrary Command Execution
Core Security - CoreLabsAutodesk 3DS Max Application Callbacks Arbitrary Command Execution
1. Advisory Information
Title: Autodesk 3DS Max Application Callbacks Arbitrary Command Execution
Advisory Id: CORE-2009-0909
Advisory URL: http://www.coresecurity.com/content/3dsmax-arbitrary-command-execution
Date published: 2009-11-23
Date of last update: 2009-11-20
Vendors contacted: Autodesk
Release mode: User release
2. Vulnerability Information
3. Vulnerability Description
Autodesk 3D Studio Max  is a modeling, animation and redering package widely used for video game , film , multimedia and web content developement. The software provides a built-in scripting language, allowing users to bind custome code to actions performed in the applciation. Execution of scripting code does not require explicit permission from the user. This mechanim can be exploited by an attacker to execute arbitrary code by enticing a victim to open .max file with MaxScript application callbacks embedded.
4. Vulnerable packages
- Autodesk 3DSMax 2010
- Autodesk 3DSMax 2009
- Autodesk 3DSMax 2008
- Autodesk 3DSMax 9
- Autodesk 3DSMax 8
- Autodesk 3DSMax 7
- Autodesk 3DSMax 6
5. Vendor Information, Solutions and Workarounds
The vendor did not provide fixes or workaround information.
You can disable the automatic loading of embedded MaxScript by following these steps:
- Go to Customize menu > Preferences > Preference Settings dialog > MAXScript.
- Uncheck "Load/Save Scene Scripts".
- Uncheck "Load/Save Persistent Globals".
This vulnerability was discovered and researched by Sebastián Tello from Core Security Technologies during Bugweek 2009 .
The publication of this advisory was coordinated by Fernando Russ from Core Security Advisories Team.
7. Technical Description / Proof of Concept Code
Autodesk 3D Studio Max provides built-in scripting language called MaxScript, which can be used to automate repetitive tasks, combine existing functionality in new ways, develop new tools and user interfaces and much more. Max allows users to bind MaxScript to application callbacks in a way that could be exploited by an attacker to execute arbitrary code by enticing a victim to open .max file with MaxScript application callbacks embedded.
A Proof of Concept file can be obtained by following these simple steps. Open Max, press F11 (MaxScript Listener), and paste this code:
callbacks.addScript #filePostOpen ("DOSCommand(\"calc.exe\")") id:#mbLoadCallback persistent:true
8. Report Timeline
- 2009-08-25: Core Security Technologies ask the Autodesk Assistance Team for a security contact to report the vulnerability.
- 2009-09-22: Core asks the Autodesk Assistance Team for a security contact to report the vulnerability.
- 2009-10-09: Core contacts CERT to obtain security contact information for Autodesk.
- 2009-10-16: CERT acknowledges the communication.
- 2009-10-19: CERT sends their available contact information for Autodesk.
- 2009-10-19: Core notifies Autodesk of the vulnerabilty report and announces its initial plan to publish the content on November 2nd, 2009. Core requests an acknoledgement within two working days and asks whehter the details should be sent encrypted or in plaintext.
- 2009-10-19: Autodesk acknowledges the report and requests the information to be provided in encrypted form.
- 2009-10-20: Core sends draft advisory and steps to reproduce the issue.
- 2009-10-27: Core asks Autodesk about the status of the vulnerability report sent on October 20th, 2009.
- 2009-10-27: Autodesk acknowledges the communication indicating that the pertinent Product Managers have been informed and are formulating a response.
- 2009-11-06: Core notifies Autodesk about the missed deadline of November 2nd, 2009 and reuqests an status update. Publication of CORE-2009-0909 is re-scheduled to November 16th, 2009 and is subject to change based on concrete feedback from Autodesk.
- 2009-11-23: Given the lack of response from Autodesk, Core decides to publish the advisory CORE-2009-0909 as "user release".
 The author participated in Core Bugweek 2009 as member of the team "Gimbal Lock N Load".
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.
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 /legacy/files/attachments/core_security_advisories.asc.