Rapid7 Vulnerability & Exploit Database

Tuleap 9.6 Second-Order PHP Object Injection

Back to Search

Tuleap 9.6 Second-Order PHP Object Injection

Disclosed
10/23/2017
Created
06/14/2018

Description

This module exploits a Second-Order PHP Object Injection vulnerability in Tuleap <= 9.6 which could be abused by authenticated users to execute arbitrary PHP code with the permissions of the webserver. The vulnerability exists because of the User::getRecentElements() method is using the unserialize() function with data that can be arbitrarily manipulated by a user through the REST API interface. The exploit's POP chain abuses the __toString() method from the Mustache class to reach a call to eval() in the Transition_PostActionSubFactory::fetchPostActions() method.

Author(s)

  • EgiX

Platform

PHP

Architectures

php

Development

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/unix/webapp/tuleap_rest_unserialize_exec
msf exploit(tuleap_rest_unserialize_exec) > show targets
    ...targets...
msf exploit(tuleap_rest_unserialize_exec) > set TARGET < target-id >
msf exploit(tuleap_rest_unserialize_exec) > show options
    ...show and set options...
msf exploit(tuleap_rest_unserialize_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

;