offensichtliches Sicherheitsproblem mit den Shopstat URL

  • Bei ecombase wird zur Zeit über eine Sicherheitslücke in Zusammenhang mit Shopstat berichtet. Da commerce:SEO davon auch betroffen ist, wollen wir das gleich mal veröffentlichen.


    In der inc/shopstat_functions.inc.php folgende Zeilen ändern:


    VON:


    $content_query = "SELECT content_title FROM ".TABLE_CONTENT_MANAGER." WHERE languages_id='".$language."' AND content_group = ".$coid;


    AUF:


    $content_query = "SELECT content_title FROM ".TABLE_CONTENT_MANAGER." WHERE languages_id='".intval($language)."' AND content_group = ".intval($coid);


    UND:


    $categories_query = "SELECT categories_name FROM " . TABLE_CATEGORIES_DESCRIPTION . " WHERE categories_id = '" . $categories_id . "' and language_id = '" . $language . "'";


    AUF:


    $categories_query = "SELECT categories_name FROM " . TABLE_CATEGORIES_DESCRIPTION . " WHERE categories_id = '" . intval($categories_id) . "' and language_id = '" . intval($language) . "'";


    Datei includes/modules/metatags:


    Suche nach:


    language_id='" . $_SESSION['languages_id']


    und ändere auf folgendes ab:


    language_id='" . intval($_SESSION['languages_id'])


    Sollte noch etwas zu finden sein wie:


    WHERE content_group='" . $_GET['coID'] . "' and


    unbedingt gleich mit ändern auf:


    WHERE content_group='" . intval($_GET['coID']) . "' and


    Der Download für die gefixten Dateien findet sich HIER: http://www.commerce-seo.de/downloads-19.html



    Wir haben aufgiebig getestet, aber ein Einbruch findet offensichtlich nicht statt! Um auf Nummer sicher zu gehen, sollte jeder den Patch einspielen. Das Problem betrifft natürlich auch das Original von Shopstat. Den Patch findet Ihr auch im Download Bereich.


    zusätzlich kann / sollte man auch noch folgendes tun:
    Datei includes/application_top.php folgendes suchen (ca. Zeile 237):


    $InputFilter = new InputFilter();
    // Security Fix
    $_GET = $InputFilter->process(str_replace('<>','',$_GET));
    $_POST = $InputFilter->process(str_replace('<>','',$_POST));


    Danach einfügen:


    $_GET = $InputFilter->safeSQL($_GET);
    $_POST = $InputFilter->safeSQL($_POST);


    Sollten die Zeilen:
    $_GET = $InputFilter->process(str_replace('<>','',$_GET));
    $_POST = $InputFilter->process(str_replace('<>','',$_POST));


    anders lauten, diese gleich wie hier beschrieben ändern. Der obige Befehl sorgt generell dafür, dass nur zulässiger SQL vom Shop verarbeitet wird.
    Bei commerce:SEO sind einige Security-Bugs schon behoben, ABER zur Sicherheit unbedingt kontrolieren!

    <p>Wir geben nur Anregungen und Hilfestellung auf Basis unserer Erfahrung, keine Rechtshilfe!<br>\m/('_')\m/</p>