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.