Lucene search

K
securityvulnsSecurityvulnsSECURITYVULNS:DOC:27369
HistoryNov 27, 2011 - 12:00 a.m.

Support Incident Tracker <= 3.65 (translate.php) Remote Code Execution Vulnerability

2011-11-2700:00:00
vulners.com
17

Support Incident Tracker <= 3.65 (translate.php) Remote Code Execution Vulnerability

authorโ€ฆ: Egidio Romano aka EgiX
mailโ€ฆ: n0b0d13s[at]gmail[dot]com
software linkโ€ฆ: http://sitracker.org/
affected versionsโ€ฆ: from 3.45 to 3.65

[-] vulnerable code in /translate.php

  1.    foreach &#40;array_keys&#40;$_POST&#41; as $key&#41;
    
  2.    {
    
  3.        if &#40;!empty&#40;$_POST[$key]&#41; AND substr&#40;$key, 0, 3&#41; == &quot;str&quot;&#41;
    
  4.        {
    
  5.            if &#40;$lastchar!=&#39;&#39; AND substr&#40;$key, 3, 1&#41; != $lastchar&#41; $i18nfile .= &quot;&#92;n&quot;;
    
  6.            $i18nfile .= &quot;&#92;${$key} = &#39;&quot;.addslashes&#40;$_POST[$key]&#41;.&quot;&#39;;&#92;n&quot;;
    
  7.            $lastchar = substr&#40;$key, 3, 1&#41;;
    
  8.            $translatedcount++;
    
  9.        }
    
  10.    }
    

Input passed via keys of $_POST array isn't properly sanitized before being stored into $i18nfile variable
at line 239, that variable will be the contents of a language file stored into 'i18n' directory with a php
extension. This could allow authenticated users to inject and execute arbitrary PHP code. Furthermore,
access directly to /translate.php?mode=save will reveal the full installation path of the application.

[-] Disclosure timeline:

[13/11/2011] - Vulnerability discovered
[13/11/2011] - Issue reported to http://bugs.sitracker.org/view.php?id=1737
[13/11/2011] - Vendor replied that this issue is fixed in the current SVN trunk
[19/11/2011] - Public disclosure

[-] Proof of concept:

http://www.exploit-db.com/exploits/18132