Kritischer Fehler in xt:Commerce und commerce:SEO

  • Anbei ein Patch, der in xt:Commerce 3.0.4 SP2.1 und commerce:SEO 1.0.6 eine kritische Sicherheitslücke schließt, über die eine SQL-Injektion möglich ist. Das heisst, über diese Lücke können Passwörter ausgespäht werden!
    Es gibt hierfür 2 Patches:

    1. xtcommerce_Patch_3.0.4SP2.1
    2. commerceseo_Patch_1.0.6

    Wobei bei commerce:SEO die metatags.php an sich nicht betroffen ist, zur Sicherheit liegt diese aber mit dabei.

    Ausgenutzt werden kann diese Lücke, wenn 2 Vorraussetzungen gegeben sind:

    1. Aktivierte SEO-URL
    2. gpg_magic_quotes= on

    VOR DEM UPDATE DIE 2 DATEIEN SICHERN!!!

    Wer den Fehler manuell beheben will hier die Vorgehensweise:

    1. Öffnen der Datei /includes/application_top.php

    Suche die Zeile (213):

    $_GET[$vars[$i]] = htmlspecialchars($vars[$i +1]);

    UND FÜGE DANACH FOLGENDES EIN:

    if(get_magic_quotes_gpc()) $_GET[$vars[$i]] = addslashes($_GET[$vars[$i]]);

    Suche die Zeile (221):

    $_GET[$key] = htmlspecialchars($value);

    UND FÜGE DANACH FOLGENDES EIN:

    if(get_magic_quotes_gpc()) $_GET[$key] = addslashes($_GET[$key]);

    2. Öffnen der Datei /includes/modules/metatags.php

    Suche die Zeile (86):

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

    UND ERSETZE DIESE MIT:

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

    Bei commerce:SEO können die Zeilennummern etwas abweichen.