Im bekannten Joomla-Shop-System Virtuemart befindet sich eine sehr ernst zu nehmende Sicherheitslücke. Eine Lösung dazu gibt es hier.
Joomla Shop Virtuemart unsicher!
Virtuemart ist einer der ausgereiftesten und vielleicht auch besten Shop-Erweiterungen für Joomla. Aber auch das verhindert natürlich keine Sicherheitslücken.
Leider ist es möglich, über eine SQL Injection bösartigen Schadcode einzubringen und damit eine ganze Joomla-Installation lahmzulegen bzw. zu zerstören.
Angreifer bedienen sich dazu einer manipulierten URL-Eingabe. Dadurch lassen sich im Normalfall nicht erlaubte Datenbank-Befehle ausführen. Was das bedeutet kann sich jeder vorstellen.
Die Lücke betrifft anscheinend alle Virtuemart-Versionen, also auch die neueste Version 1.1.6 und einen offiziellen Patch oder gar eine bereinigte Nachfolgeversion gibt es derzeit leider noch nicht.
Aber wie so oft, hält die Joomla-Community auch diesmal wieder eine Lösung bereit.
Um die sehr kritische Lücke in Virtuemart 1.1.6 zu schließen, muss die Datei virtuemart.php editiert werden. Diese Datei ist zu finden unter /components/com_virtuemart/. In dieser Datei ziemlich weit oben findet sich folgender Code:
// $search_category= vmRequest::getVar( 'search_category' );
Hier sollte getVar mit getInt ausgetauscht werden, wodurch nur noch Integer- bzw. Zahlenwerte zur Anwendung kommen können. Das sieht dann so aus:
// $search_category= vmRequest::getInt( 'search_category' );
Die beiden // gehören natürlich nicht zum Code.
Wie es scheint, liegt das Problem somit an einem Wert, welcher nicht geprüft wird. Diese Wertzuweisung kommt für die interne Suche in Virtuemart zur Anwendung.
Zumindest bis zur nächsten fehlerbereinigten Virtuemart-Version dürfte das hier Beschriebene eine ganz gute und relativ sichere Lösung sein.