CVE-2013-6225: Security Advisory – Curesec Research Team
Inside the file ‘mobile/php/translation/index.php’ the following code can be found: $langFileLocation = ‘.’; $LZLANG = Array(); if (isset($_GET['g_language'])) { $language = ($_GET['g_language'] != ”) ? $_GET['g_language'] : ‘ein’; require ($langFileLocation . ‘/langmobileorig.php’); $LZLANGEN = $LZLANG; if (file_exists($langFileLocation . ‘/langmobile’ . $language . ‘.php’)) { require ($langFileLocation . ‘/langmobile’ . $language . ‘.php’); } The ‘g_language’ GET parameter is not validated before using it in a php require function call. This allows to include files that are stored on a windows server. It is, in this case, not possible to include files, if the php application is running on a linux server because ‘/langmobile’+ the language is not a directory and therefore cannot be traversed. In recent PHP versions null bytes are blocked. This means that in this case only files with the PHP extension can be