Rapid7 Vulnerability & Exploit Database

Sun Java Web Start Plugin Command Line Argument Injection

Back to Search

Sun Java Web Start Plugin Command Line Argument Injection



This module exploits a flaw in the Web Start plugin component of Sun Java Web Start. The arguments passed to Java Web Start are not properly validated. By passing the lesser known -J option, an attacker can pass arbitrary options directly to the Java runtime. By utilizing the -XXaltjvm option, as discussed by Ruben Santamarta, an attacker can execute arbitrary code in the context of an unsuspecting browser user. This vulnerability was originally discovered independently by both Ruben Santamarta and Tavis Ormandy. Tavis reported that all versions since version 6 Update 10 "are believed to be affected by this vulnerability." In order for this module to work, it must be ran as root on a server that does not serve SMB. Additionally, the target host must have the WebClient service (WebDAV Mini-Redirector) enabled.


  • jduck <jduck@metasploit.com>




Module Options

To display the available options, load the module within the Metasploit console and run the commands 'show options' or 'show advanced':

msf > use exploit/windows/browser/java_ws_arginject_altjvm
msf exploit(java_ws_arginject_altjvm) > show targets
msf exploit(java_ws_arginject_altjvm) > set TARGET < target-id >
msf exploit(java_ws_arginject_altjvm) > show options
    ...show and set options...
msf exploit(java_ws_arginject_altjvm) > exploit

Time is precious, so I don’t want to do something manually that I can automate. Leveraging the Metasploit Framework when automating any task keeps us from having to re-create the wheel as we can use the existing libraries and focus our efforts where it matters.

– Jim O’Gorman | President, Offensive Security