Rzeczywista poprawka bezpieczeństwa ( SUPEE-6482 ) wpływa tylko na dwa następujące pliki i jest poprawką API.
app/code/core/Mage/Api/Model/Server/Adapter/Soap.php
app/code/core/Mage/Catalog/Model/Product/Api/V2.php
Pełna instalacja 1.9.2.1 to zupełnie inna sprawa. Różniłbym kod źródłowy między 1.9.2.0 a 1.9.2.1, aby dowiedzieć się o dwóch pozostałych poprawionych elementach.
Informacje o wersji dotyczą pełnego instalatora, należy sprawdzić poprawkę, aby zobaczyć, czy faktycznie zawiera ona wszystkie elementy wymienione w informacjach o wersji.
Konsekwencje uruchomienia niezałatanego serwera:
- Skrypty między witrynami przy użyciu nieważnych nagłówków => Zatrucie pamięci podręcznej
- Automatyczne ładowanie pliku Dołączenie do Magento SOAP API => Zdalne automatyczne ładowanie kodu
- XSS w Wyszukiwarce rejestru prezentów => Kradzież plików cookie i podszywanie się pod użytkownika
- Luka w zabezpieczeniach SSRF w pliku WSDL => Wyciek informacji z wewnętrznego serwera i zdalne włączenie pliku
UWAGA: Pliki załatane w archiwum pełnej instalacji, które nie są załatane łatką, hmm?
diff -r magento-1920/app/code/core/Mage/Core/Controller/Request/Http.php magento-1921/app/code/core/Mage/Core/Controller/Request/Http.php
300a301
> $host = $_SERVER['HTTP_HOST'];
302,303c303,304
< $host = explode(':', $_SERVER['HTTP_HOST']);
< return $host[0];
---
> $hostParts = explode(':', $_SERVER['HTTP_HOST']);
> $host = $hostParts[0];
305c306,313
< return $_SERVER['HTTP_HOST'];
---
>
> if (strpos($host, ',') !== false || strpos($host, ';') !== false) {
> $response = new Zend_Controller_Response_Http();
> $response->setHttpResponseCode(400)->sendHeaders();
> exit();
> }
>
> return $host;
diff -r magento-1920/app/design/frontend/base/default/template/page/js/cookie.phtml magento-1921/app/design/frontend/base/default/template/page/js/cookie.phtml
37,38c37,38
< Mage.Cookies.path = '<?php echo $this->getPath()?>';
< Mage.Cookies.domain = '<?php echo $this->getDomain()?>';
---
> Mage.Cookies.path = '<?php echo Mage::helper('core')->jsQuoteEscape($this->getPath()) ?>';
> Mage.Cookies.domain = '<?php echo Mage::helper('core')->jsQuoteEscape($this->getDomain()) ?>';