SUPEE-10888 to nowa poprawka bezpieczeństwa dla Magento 1, która rozwiązuje 12 problemów bezpieczeństwa.
https://magento.com/security/patches/supee-10888
SUPEE-10888, Magento Commerce 1.14.3.10 i Open Source 1.9.3.10 zawierają wiele ulepszeń bezpieczeństwa, które pomagają zamknąć skrypty między witrynami (XSS), fałszowanie żądań między witrynami (CSRF) i inne luki w zabezpieczeniach.
Łatka znajduje się na stronie https://magento.com/tech-resources/download#download2243
Na jakie typowe problemy należy zwrócić uwagę przy stosowaniu tej poprawki?
magento-1
patches
security
supee-10888
Luke Rodgers
źródło
źródło
Odpowiedzi:
Poniższe pliki zostały zmienione / utworzone po zastosowaniu poprawki
źródło
W oryginalnych łatkach v1 z
2018-09-18
nazwą pliku:Magento naprawił ten problem po cichu, wydając nowe pliki łatek. Nadal,
v1
ale z2018-09-19
nazwą pliku.źródło
diff --git skin/adminhtml/default/enterprise/images/placeholder/thumbnail.jpg
i wszystkich kolejnych wierszy z pliku poprawkiProblem z łatką
PATCH_SUPEE-10888_CE_v1.9.0.1_v1-2018-09-18-02-54-39.sh
na waniliowym Magento 1.8.1.0, z zainstalowanymi wszystkimi poprzednimi łatkami:Rzeczywiście plik
app/design/frontend/rwd/default/template/bundle/sales/order/items/renderer.phtml
nie istnieje w 1.8.1.0, więc usunąłem tę zmianę z pliku poprawki.Nie udało mi się tego zrobić ze zaktualizowaną
2018-09-19
wersją łatki. Udało się tylko z plikiemPATCH_SUPEE-10888_CE_v1.8.1.0_v1-2018-09-18-02-54-39
po usunięciuthumbnail.jpg
zmiany, jak wyjaśniono w moim komentarzu na /magento//a/242823/13642źródło
SUPEE-10888 for CE 1.8.1.0-1.9.0.1 (0.06 MB)
Jeśli używasz niestandardowego motywu, a Twój motyw zastępuje dowolny z poniższych plików, musisz ręcznie dodać zmiany w motywie
na przykład jeśli dodałeś
w swoim motywie, musisz wprowadzić zmiany ręcznie w
Na przykład Znajdź te linie
i zamień na poniżej
źródło
Jak opisano w /magento//a/243531/142 , musisz sprawdzić wszystkie niestandardowe pliki szablonów interfejsu użytkownika i ręcznie dołączyć zmiany z łatki.
Poza tym musisz sprawdzić
account_password_reset_confirmation.html
szablon poczty. W zależności od sklepu, podapp/locale/[LANG]/template/email/
lub w backendie w obszarze System> Transakcyjne wiadomości e-mail dla wszystkich języków. We wszystkich odpowiednich szablonach musisz zmienić_query_id=$customer.id
na_query_id=$customer.rp_customer_id
. Zmiana została zaimplementowana w sposób zgodny z poprzednimi wersjami, ale jeśli chcesz uwzględnić wszystkie ulepszenia bezpieczeństwa, nie możesz przegapić tej zmiany.źródło
Dziś rano nałożyłem łatkę. Główne pliki znajdują się w backendzie Magento.
Escapehtml dodane pliki
W Magento commerce dodano pliki inne niż powyższe pliki:
Do tej pory nie mam żadnych problemów.
źródło
W Magento EE 1.13.1.0
Patch szuka niewłaściwego pliku (plik społeczności, jak sądzę).
Musiałem usunąć te wiersze z pliku poprawki i zastosować. Zastosowano pomyślnie.
Powiadomiłem podstawowy zespół Magento, ale jeszcze nie otrzymaliśmy opinii.
źródło
Formularz resetowania hasła nie działa już po zainstalowaniu poprawki w CE 1.7.0.2 z zainstalowanymi wszystkimi poprzednimi łatkami.
(PATCH_SUPEE-10888_CE_v1.7.0.2_v1-2018-09-18-03-00-22.sh)
EDYTOWAĆ:
Problem nie występuje już po cofnięciu poprawki z 18 września (v1) i zastosowaniu zaktualizowanej poprawki od 19 września (v1) + odświeżenie pamięci podręcznej i wyczyszczenie pamięci podręcznej magento.
(PATCH_SUPEE-10888_CE_v1.7.0.2_v1-2018-09-19-03-01-22.sh)
źródło
Dzięki, Robb za wskazówkę.
Konieczne było zastosowanie SUPEE-10752. Zastosowałem także łatkę kompatybilności z PHP 7.2 i usunąłem łatkę kompatybilności Inchoo_PHP7 przed instalacją SUPEE-10888. Pracował bez problemu.
źródło
Magento CE 1.6.2.0
Po wystąpieniu błędu po zastosowaniu poprawki podczas próby zresetowania hasła do konta klienta w interfejsie użytkownika.
Błąd krytyczny: Wywołanie funkcji członkowskiej getBackend () na obiekcie niebędącym obiektem w app / code / core / Mage / Eav / Model / Entity / Abstract.php w linii 1536.
Okazuje się, że łatka nie uruchomiła skryptu aktualizacji SQL (app / code / core / Mage / Customer / sql / customer_setup / upgrade-1.6.1.0.1.2-1.6.1.0.1.3.php), który utworzył nowy atrybut o nazwie rp_customer_id.
Sprawdź, czy wyczyściłeś pamięć podręczną Magento, ale co ważniejsze, jeśli masz włączoną pamięć podręczną lakieru, wyczyść ją. Po wyłączeniu całej pamięci podręcznej i wyczyszczeniu pamięci podręcznej lakieru skrypt SQL utworzył nowy atrybut w bazie danych.
źródło
Znaleziono małą literówkę w łatce dla wersji 1.14.2.0 do 1.14.2.4
W pliku
app/design/frontend/enterprise/iphone/template/downloadable/sales/order/creditmemo/items/renderer/downloadable.phtml
błędnie wprowadza następującą zmianę:<dt><?php echo $this->escspeHtml($this->getLinksTitle()); ?></dt>
zamiast
<dt><?php echo $this->escapeHtml($this->getLinksTitle()); ?></dt>
Oto różnica w celach informacyjnych:
diff --git app/design/frontend/enterprise/iphone/template/downloadable/sales/order/creditmemo/items/renderer/downloadable.phtml app/design/frontend/enterprise/iphone/template/downloadable/sales/order/creditmemo/items/renderer/downloadable.phtml index 6ed3cd9bfd4..f8b1573605a 100644 --- app/design/frontend/enterprise/iphone/template/downloadable/sales/order/creditmemo/items/renderer/downloadable.phtml +++ app/design/frontend/enterprise/iphone/template/downloadable/sales/order/creditmemo/items/renderer/downloadable.phtml @@ -55,7 +55,7 @@ <!-- downloadable --> <?php if ($links = $this->getLinks()): ?> <dl class="item-options"> - <dt><?php echo $this->getLinksTitle() ?></dt> + <dt><?php echo $this->escspeHtml($this->getLinksTitle()); ?></dt> <?php foreach ($links->getPurchasedItems() as $link): ?> <dd><?php echo $this->escapeHtml($link->getLinkTitle()); ?></dd> <?php endforeach; ?>
źródło
Jest wewnątrz typo
/app/code/core/Mage/Core/etc/system.xml
co<crate_admin_user_notification translate="label comment">
powinno być<create_admin_user_notification translate="label comment">
, ale to nie dlatego, że łamanie zwyczajów jest źle napisane również wif(Mage::getStoreConfigFlag('admin/security/crate_admin_user_notification')
źródło
Obecnie zawodzi tutaj w Magento CE 1.9.1.0.
Kontrola wzrokowa plików źródłowych potwierdza, że nie ma odpowiedniego kodu.
...
Jak wskazano, nie ma takiego pliku.
źródło
Tylko informacja dla użytkowników EE, ponieważ ta łatka wymaga SUPEE-10752, możesz napotkać losowe upuszczenie niektórych sesji lub przekierowanie do strony głównej zamiast strony sukcesu.
Przeszliśmy do zwykłego procesu nakładania następujących poprawek w tej kolejności:
Jednak poprawka SUPEE-10752 dla EE zawiera następujące zmiany: app / code / core / Mage / Core / Model / Session / Abstract / Varien.php
Musiałem zastosować w ostatniej części nieprawidłowy_sesja_fix-2018-03-14-05-10-19.patch poniżej, który znajduje się w https://magento.com/tech-resources/download pod SUPEE-10570 > invalid_session_fix.patch (0 MB)
źródło
Widziałem problem z kilkoma klientami, którzy dzwonili do nas, że nie mogą się zalogować i wyświetlić swojego konta.
Adres e-mail i hasło są poprawne - brak komunikatu o błędzie logowania, strona po prostu ponownie ładuje się na stronę główną lub stronę logowania, wydaje się, że nie mogą dostać się na swoje konto! Stało się tak po zastosowaniu poprawki 10888, a my mamy 10752 zastosowane.
Po wykopaniu znalazłem w tabeli
customer_entity
i przypomniało mi się, że dotknięci klienci mają znacznik czasucreated_date
POupdated_date
. Myślę, że nie powinno tak być, prawda?Aby przetestować, zmieniłem utworzoną datę na PRZED zaktualizowaną datą, nawet o jedną minutę. Dla niektórych użytkowników to samo pomogło im wrócić do konta. Podczas gdy dla innych użytkowników musiałem również zaktualizować swoje hasło za pomocą SQL, używając zapytania:
Nie muszę w pełni badać zmian wprowadzanych przez SUPEE 10888 w podstawowych plikach klienta, ale z pewnością występują problemy z łatką.
Ponadto wydaje się, że nie mogę zaktualizować hasła klienta za pomocą panelu administracyjnego, jak zwykle podczas zapisywania strona powoduje błąd.
Korzystanie z 1.9.2.4
źródło
Używam Magento 1.9.3.7. Os jest ubuntu. Wersja PHP to 7.0.
Przy próbie zastosowania ścieżki SUPPER-10888 wystąpił błąd.
BŁĄD: Nie można pomyślnie zastosować / przywrócić poprawki.
sprawdzanie pliku app / code / core / Mage / Admin / Model / User.php Hunk # 2 udało się na 676 (przesunięcie -20 linii). sprawdzanie pliku aplikacji / code / core / Mage / Admin / etc / config.xml sprawdzanie pliku app / code / core / Mage / Adminhtml / Block / Catalog / Product / Edit / Tab / Super / Config.php sprawdzanie pliku app / code / core / Mage / Adminhtml / Block / Widget / Grid / Massaction / Abstract.php plik aplikacji sprawdzającej / kod / core / Mage / Adminhtml / Model / LayoutUpdate / Validator.php Przystojniak # 2 NIEudany na 57. Przystojniak # 3 udało się na 80 ( przesunięcie -12 linii). Przystojniak # 4 odniósł sukces na 115 z fuzz 2 (przesunięcie -12 linii). Przystojniak # 5 odniósł sukces na 139 z fuzz 1 (przesunięcie -21 linii). Przystojniak # 6 odniósł sukces na 161 (przesunięcie -21 linii). 1 z 6 przystojniaków NIE MOŻNA sprawdzić pliku aplikacji / kodu / rdzenia / Mage / Adminhtml / kontrolerów / Katalogu / ProductController.php Przystojniak nr 1 odniósł sukces na 1020 (przesunięcie -11 linii). Sprawdzanie aplikacji pliku / kodu / rdzenia / Mage / Adminhtml / kontrolerów / Uprawnienia / UserController.php Sprawdzanie aplikacji pliku / kodu / rdzenia / Mage / Adminhtml / etc / config.xml Sprawdzanie aplikacji pliku / kodu / rdzenia / Mage / Checkout / Model / Api / Resource / Customer.php Przystojniak nr 1 odniósł sukces przy 151 z fuzz 1 (przesunięcie -1 linii). sprawdzanie pliku app / code / core / Mage / Checkout / Model / Type / Onepage.php Przystojniak nr 1 udało się na 731 z fuzz 1 (przesunięcie -3 wiersze). sprawdzanie pliku aplikacji / kodu / rdzenia / Mage / Cms / Model / Wysiwyg / Images / Storage.php sprawdzanie pliku aplikacji / kodu / rdzenia / Mage / Core / etc / config.xml sprawdzanie pliku aplikacji / kodu / rdzenia / Mage / Core / etc / system.xml aplikacja do sprawdzania pliku / code / core / Mage / Customer / Helper / Data.php aplikacja do sprawdzania pliku / code / core / Mage / Customer / Model / Customer.php aplikacja do sprawdzania pliku / code / core / Mage / Customer /Model/Resource/Customer.php Przystojniak nr 1 odniósł sukces na 332 (przesunięcie -1 linii). sprawdzanie pliku app / code / core / Mage / Customer / kontrolers / AccountController.php Przystojniak nr 1 udało się na 755 (przesunięcie -1 linii). Przystojniak nr 2 odniósł sukces na 810 (przesunięcie -1 linii). Przystojniak # 3 nieudany o 871. Przystojniak # 4 udało się o 883 (przesunięcie -2 linie). 1 na 4 przystawki NIEPRAWIDŁOWA aplikacja sprawdzająca plik / kod / rdzeń / Mag / Klient / etc / config.xml Przystojniak # 1 AWARIA o 28. 1 na 1 przystojniak NIEudana aplikacja sprawdzająca plik / kod / rdzeń / Mag / Klient / sql / client_setup / upgrade-1.6.2.0.5.1.2-1.6.2.0.5.1.3.php sprawdzanie pliku aplikacji / kodu / rdzenia / Mage / Paypal / Model / Express / Checkout.php sprawdzanie pliku aplikacji / kodu / rdzenia / Maga / XmlConnect / controllers / ReviewController.php nie może znaleźć pliku do poprawki w linii wejściowej 600 Być może użyłeś niewłaściwej opcji -p lub --strip? Przystojniak # 4 odniósł sukces na 883 (przesunięcie -2 linie). 1 na 4 przystawki NIEPRAWIDŁOWA aplikacja sprawdzająca plik / kod / rdzeń / Mag / Klient / etc / config.xml Przystojniak # 1 AWARIA o 28. 1 na 1 przystojniak NIEudana aplikacja sprawdzająca plik / kod / rdzeń / Mag / Klient / sql / client_setup / upgrade-1.6.2.0.5.1.2-1.6.2.0.5.1.3.php sprawdzanie pliku aplikacji / kodu / rdzenia / Mage / Paypal / Model / Express / Checkout.php sprawdzanie pliku aplikacji / kodu / rdzenia / Maga / XmlConnect / controllers / ReviewController.php nie może znaleźć pliku do poprawki w linii wejściowej 600 Być może użyłeś niewłaściwej opcji -p lub --strip? Przystojniak # 4 odniósł sukces na 883 (przesunięcie -2 linie). 1 na 4 przystawki NIEPRAWIDŁOWA aplikacja sprawdzająca plik / kod / rdzeń / Mag / Klient / etc / config.xml Przystojniak # 1 AWARIA o 28. 1 na 1 przystojniak NIEudana aplikacja sprawdzająca plik / kod / rdzeń / Mag / Klient / sql / customer_setup / upgrade-1.6.2.0.5.1.2-1.6.2.0.5.1.3.php sprawdzanie pliku aplikacji / kodu / rdzenia / Mage / Paypal / Model / Express / Checkout.php sprawdzanie pliku aplikacji / kodu / rdzenia / Maga / XmlConnect / controllers / ReviewController.php nie może znaleźć pliku do łatania w linii wejściowej 600 Być może użyłeś złej opcji -p lub --strip?
Tekst prowadzący do tego był następujący:
| diff --git app / code / core / Zend / Filter / PregReplace.php app / code / core / Zend / Filter / PregReplace.php | index 586c0fe20a0..d6fa2dac0ec 100644 | --- app / code / core / Zend / Filter / PregReplace.php
| +++ app / code / core / Zend / Filter / PregReplace.php
Plik do łatki: Pominąć tę łatkę? [y] Pomijam łatkę. 2 z 2 przystojniaków zignorowano sprawdzanie pliku aplikacji / projektu / adminhtml / default / default / template / bundle / product / edit / bundle / option.phtml Przystojniak # 1 NIEudany o 209. 1 z 1 przystojniaka NIEudany sprawdzanie aplikacji / projektu / plik sprawdzający adminhtml / default / default / template / bundle / sales / creditmemo / create / items / renderer.phtml sprawdzanie pliku / design / adminhtml / default / default / template / bundle / sales / creditmemo / view / items / renderer.phtml app / design / adminhtml / default / default / template / bundle / sales / invoice / create / items / renderer.phtml plik sprawdzający app / design / adminhtml / default / default / template / bundle / sales / faktura / view / items / renderer .phtml aplikacja sprawdzająca plik / design / adminhtml / default / default / template / bundle / sales / order / view / items / renderer.
Masz pojęcie, czego brakuje?
źródło