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
foreach (array_keys($_POST) as $key)
{
if (!empty($_POST[$key]) AND substr($key, 0, 3) == "str")
{
if ($lastchar!='' AND substr($key, 3, 1) != $lastchar) $i18nfile .= "\n";
$i18nfile .= "\${$key} = '".addslashes($_POST[$key])."';\n";
$lastchar = substr($key, 3, 1);
$translatedcount++;
}
}
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: