Dopo la mega patch SUPEE-6285, che aggiornava oltre 50 files, lo staff di Magento ha rilasciato ad inizio agosto una nuova patch, la SUPEE-6482. Aggiorna pochi files ma va installata al più presto.
Neanche il tempo di aggiornare i nostri siti con la mega patch SUPEE-6285, ed ecco che lo staff Magento ha ritenuto opportuno rilasciare un nuovo aggiornamento di sicurezza. La patch SUPEE-6482 dovrebbe essere più semplice da applicare visto che interviene su pochissimi files, che di solito non vengono sovrascritti da componenti di terze parti.
I files oggetto della patch (abbiamo preso come riferimento una versione 1.5) sono
app/code/core/Mage/Api/Model/Server/Adapter/Soap.php
dove il blocco
if( $withAuth ) {
$phpAuthUser = $this->getController()->getRequest()->getServer('PHP_AUTH_USER', false);
$phpAuthPw = $this->getController()->getRequest()->getServer('PHP_AUTH_PW', false);
if ($phpAuthUser && $phpAuthPw) {
$wsdlUrl = sprintf("http://%s:%s@%s", $phpAuthUser, $phpAuthPw, str_replace('http://', '', $wsdlUrl ) );
}
}
diventa
if ( $withAuth ) {
$phpAuthUser = rawurlencode($this->getController()->getRequest()->getServer('PHP_AUTH_USER', false));
$phpAuthPw = rawurlencode($this->getController()->getRequest()->getServer('PHP_AUTH_PW', false));
$scheme = rawurlencode($this->getController()->getRequest()->getScheme());
if ($phpAuthUser && $phpAuthPw) {
$wsdlUrl = sprintf("%s://%s:%s@%s", $scheme, $phpAuthUser, $phpAuthPw,
str_replace($scheme . '://', '', $wsdlUrl));
}
}
e app/code/core/Mage/Catalog/Model/Product/Api/V2.php
dove vengono aggiunti due controlli sull'oggetto $productData per verificare che si tratti di un oggetto Php regolare. Il blocco
if (!$type || !$set || !$sku) {
diventa
if (!$type || !$set || !$sku || !is_object($productData)) {
e la funzione _prepareDataForSave inizia ora con questo blocco:
if (!is_object($productData)) {
$this->_fault('data_invalid');
}
per poi proseguire come di consueto con
if (property_exists($productData, 'categories') && is_array($productData->categories)) {
Queste due patch aggiungono al sito una protezione riguardo problematiche di script cross-site e comunicazione Api. Vanno aggiornate tutte le versioni Magento a partire dalla 1.4.