Tiki Wiki CMS Groupware 8.2 – ‘snarf_ajax.php’ Remote PHP Code Injection

  • 作者: EgiX
    日期: 2011-12-22
  • 类别:
    平台:
  • 来源:https://www.exploit-db.com/exploits/18265/
  • -------------------------------------------------------------------------
    Tiki Wiki CMS Groupware <= 8.2 (snarf_ajax.php) Remote PHP Code Injection
    -------------------------------------------------------------------------
    
    author...........: Egidio Romano aka EgiX
    mail.............: n0b0d13s[at]gmail[dot]com
    software link....: http://info.tiki.org/
    
    
    [-] Vulnerability explanation:
    
    The vulnerable code is located into /lib/wiki-plugins/wikiplugin_snarf.php:
    
    170. // If the user specified a more specialized regex
    171. if ( isset($params['regex']) && isset($params['regexres']) && preg_match('/^(.)(.)+\1[^e]*$/', $params['regex']) ) {
    172.$snarf = preg_replace( $params['regex'], $params['regexres'], $snarf );
    173. }
    
    input passed through $_REQUEST['regex'] is checked by a regular expression at line 171 to prevent
    execution of arbitrary PHP code using the'e'modifier in a call to preg_replace() at line 172.
    Butthischeckcouldbebypassedwith anull byte injection,requesting an URL like this:
    
     http://<hostname>/tiki-8.2/snarf_ajax.php?url=1®exres=phpinfo()®ex=//e%00/
    
    Tiki internal filters removeall null bytesfrom user input,but for some strange reasonthis
    doesn'thappen within admin sessions. So, successful exploitation of this vulnerability requires
    an user account withadministrationrights and'PluginSnarf'to be enabled(not by default).
    
    
    [-] Disclosure timeline:
    
    [23/11/2011] - Vulnerability discovered
    [24/11/2011] - Issue reported to security(at)tikiwiki.org
    [24/11/2011] - New ticket opened: http://dev.tiki.org/item4059
    [27/11/2011] - Vendor confirmed the issue
    [27/11/2011] - CVE number requested
    [28/11/2011] - Assigned CVE-2011-4558
    [22/12/2011] - After four weeks still no fix released
    [23/12/2011] - Public disclosure