Für die Magento-Versionen 1.4, 1.6 und 1.7 wurde am 11. Dezember von Magento ein Sicherheitsupdate veröffentlicht. Der Fehler korrigiert einen Bug über den, mittels angepasster Anfrage, beliebige Dateien über den WYSIWYG-Controller gelesen werden können. Der Fehler ist als kritisch einzustufen, sodass der Patch unbedingt eingespielt werden muss.
Zusätzlich informiert Magento alle Shop-Betreiber proaktiv über eine Hinweis-Meldung in der Administration.
Ein Problem – eine Lösung
Im Blog von Christian Münch wird allerdings auf ein Problem hingewiesen, das nach dem Update auftreten kann. „Wird das Media-Verzeichnis über einen Symlink eingebunden, was bei größeren Shop-Installationen durchaus üblich ist, dann funktioniert der Dateibrowser im Wysiwyg-Editor nicht mehr. […] Das Problem liegt im Verzeichnisvergleich mit und einmal ohne die PHP Funktion realpath
.“ so Münch in seinem Blog. Ebenso gibt er einen Lösungsvorschlag um das Problem zu beheben. Dazu muss lediglich eine Funktion ausgetauscht werden:
- Original Datei aus dem core Codepool nach local kopieren.
- Methode convertIdToPath mit der unten genannten austauschen:
class Mage_Cms_Helper_Wysiwyg_Images extends Mage_Core_Helper_Abstract { //.... /** * Decode HTML element id * * @param string $id * @return string */ public function convertIdToPath($id) { /*$path = $this->idDecode($id); if (!strstr($path, $this->getStorageRoot())) { $path = $this->getStorageRoot() . $path; } return $path;*/ /** * CORE PATCH BY netz98 new media GmbH * * Problems with Symlinks after security patch by Magento */ // BEGIN OF PATCH $path = $this->idDecode($id); if (!strstr($path, realpath($this->getStorageRoot()))) { $path = realpath($this->getStorageRoot()) . $path; } // END OF PATCH return $path; } //.... }
Vielen Dank an Christian Münch für den Hinweis und das Bereitstellen einer Lösung!