Rapid7 Vulnerability & Exploit Database

Apache Storm Nimbus getTopologyHistory Unauthenticated Command Execution

Back to Search

Apache Storm Nimbus getTopologyHistory Unauthenticated Command Execution



This module exploits an unauthenticated command injection vulnerability within the Nimbus service component of Apache Storm. The getTopologyHistory RPC method method takes a single argument which is the name of a user which is concatenated into a string that is executed by bash. In order for the vulnerability to be exploitable, there must have been at least one topology submitted to the server. The topology may be active or inactive, but at least one must be present. Successful exploitation results in remote code execution as the user running Apache Storm. This vulnerability was patched in versions 2.1.1, 2.2.1 and 1.2.4. This exploit was tested on version 2.2.0 which is affected.


  • Alvaro Muñoz
  • Spencer McIntyre




cmd, x86, x64


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/linux/misc/nimbus_gettopologyhistory_cmd_exec
msf exploit(nimbus_gettopologyhistory_cmd_exec) > show targets
msf exploit(nimbus_gettopologyhistory_cmd_exec) > set TARGET < target-id >
msf exploit(nimbus_gettopologyhistory_cmd_exec) > show options
    ...show and set options...
msf exploit(nimbus_gettopologyhistory_cmd_exec) > 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