Nadszedł czas na kolejny dzień aktualizacji, SUPEE-7405 dla Magento 1.x jest niedostępny, a lista poprawek jest długa: https://magento.com/security/patches/supee-7405
Po doświadczeniu z ostatnimi łatkami muszę jeszcze raz zapytać: jakie są możliwe problemy przy stosowaniu łatki i co muszę wziąć pod uwagę?
Wiele problemów XSS zostało naprawionych ponownie, więc spodziewam się, że ręcznie dostosuję niestandardowe motywy. Coś jeszcze? Czy są zmiany niezgodne wstecz?
security
patches
magento-1
supee-7405
Fabian Schmengler
źródło
źródło
Odpowiedzi:
Aktualizacja z 23 lutego 2016 r . : Aktualizacja została zaktualizowana do wersji 1.1, która naprawia szereg ważnych problemów wymienionych w tym poście, oto lista:
Po zagłębieniu się w łatkę, oto odpowiednie / interesujące rzeczy, które znalazłem (NB: ta lista została stworzona przez analizę łatki dla CE 1.9.2.0-1.9.2.2, prawdopodobnie jest więcej dla poprawek wpływających na starsze wersje Magento) :
Użycie[]
zamiastarray()
tej łatki powoduje, że jest ona wstecznie niezgodna z PHP <5.4 (zobacz znane problemy poniżej)Mage_Admin_Model_Observer
Mage_Adminhtml_IndexController
Mage_Adminhtml_IndexController
getDeleteUrl
zMage_Checkout_Block_Cart_Item_Renderer
oraz potwierdzone wdeleteAction
zMage_Checkout_CartController
.controller_action_postdispatch_checkout_onepage_saveOrder
Stają sięcontroller_action_postdispatch_checkout_onepage_saveorder
). Nie wpływa to na konfigurację lokalnych obserwatorów . Więcej informacji tutaj: https://twitter.com/foomanNZ/status/689924329065164800Mage_Core_Model_File_Validator_Image
System => Configuration =>Advanced > System => Escape CSV Fields
admin_user_validate
underMage_Admin_Model_User
Mage_Authorizenet_Helper_Admin
) używanego do uzyskania adresu URL zamówienia.Zend_Xml_Security
. Jego celem jest skanowanie łańcucha XML pod kątem potencjalnych ataków XXE i XEE. Jednak nie znalazłem żadnego odniesienia do tego w innych zmodyfikowanych plikach.Znane problemy po łataniu:
Spróbuję utrzymać tę listę tak aktualną, jak to możliwe.
Przed rozpoczęciem nowego wydania / pytania upewnij się, że zastosowałeś wszystkie poprzednie łaty, ponieważ wydaje się, że wiele problemów wynika z brakujących łatek.
Kolejna sprawa: jeśli zmodyfikowałeś podstawowe pliki, zastosowanie poprawki może się nie powieść. Jeśli masz
Hunk # failed at
błąd dotyczący konkretnego pliku i masz 100% pewność, że zastosowałeś wszystkie poprzednie łaty, upewnij się, że masz oryginalny plik z wersji Magento, sprawdzając kopię lustrzaną: https://github.com / OpenMage / magento-mirror /Strona widoku zamówienia administratora jest pusta / zepsuta => Powiązana z niezgodnością PHP <5.4. => Naprawę można znaleźć tutaj: https://magento.stackexchange.com/a/98237/2380 / Utworzyłem raport o błędzie: https://www.magentocommerce.com/bug-tracking/issue/index/ id / 1266 (kredyty: @ Moonman67).URL API SOAP/index.php/api/v2_soap/index/?wsdl=1
generuje błąd 500 => Opracowałem hacky poprawkę dla tego, który można znaleźć tutaj: https://magento.stackexchange.com/a/98790/2380 / Stworzyłem również raport o błędzie dla ten: https://www.magentocommerce.com/bug-tracking/issue/index/id/1265 (kredyty: @ Moonman67)Problemy dotyczące uprawnień do przesyłania plikówapp/code/core/Mage/Core/Model/Config.php
(prawdopodobnie tylko EE): SUPEE 7405 Enterprise Edition Błąd krytyczny Niezdefiniowana stała klasy „AREA_ADMINHTMLMage_Core_Helper_Abstract::escapeHtml()
w wersji 1.4.0.1 : Błąd po zainstalowaniu poprawki 7405 w Magento 1.4.0.1_singleton/Mage_Core_Model_Domainpolicy
już istnieje w Magento 1.7: Błąd poprawki zabezpieczeń SUPEE-7405Problemy ze stosowaniem poprawki do 1.7.0.2 : Problemy z poprawką bezpieczeństwa SUPEE-7405Problemy ze stosowaniem łatki w wersji 1.8.1 : supee 7405 Hunk # 2 FAILED w wersji 472. Magento 1.8.1Kolejka e-mail przerwana po łatce : Magento 1.9.2.3 Kolejka e-mail nie działaLista dotkniętych plików
Można go znaleźć na tej stronie tutaj: https://magento.stackexchange.com/a/98232/2380 (kredyty @MagenX)
Tylko EE
Odnośnie do łatki 7616:
Możliwy problem podczas aplikacji 7616 przed aplikacją 7405 : SUPEE 7405 - Przystawka nr 2 nieudana na 43Dobre zasoby na temat łatek Magento
Daj mi znać, jeśli coś przegapię.
źródło
Zauważyłem jeden problem: jeśli twoja strona używa wersji mniejszej niż PHP 5.4, łatka nie jest kompatybilna.
W klasie
Mage_Adminhtml_Helper_Sales
wokół linii nr 124. Kod to:Musiałem to rozszerzyć, aby:
Kolejny błąd, na jaki natrafiłem, dotyczył plików cookie, które ustawiłem. Po wyczyszczeniu plików cookie wszystkie strony ładowały się poprawnie.
Przykładowy błąd:
Nie jestem pewien, czy ktoś napotkał te problemy, ale mam nadzieję, że to pomoże!
źródło
Oto problem, który znalazłem podczas łatania Magento CE za pomocą SUPEE-7405. Zastępuje wiersz:
z:
w pliku
lib/Varien/File/Uploader.php
To zatrzymało wyświetlanie moich obrazów w zapleczu, ponieważ to uprawnienie do pliku powinno w rzeczywistości wynosić 644. Czy jest jakiś powód, dla którego ustawiono 640?
źródło
chown USERNAME:nobody -R public_html
find ./public_html -type d -exec chmod g+s {} \;
Ubiegając się o Magento 1.7.0.0 próbuje usunąć komentarz
app/design/adminhtml/default/default/template/authorizenet/directpost/iframe.phtml
-/* @var $_helper Mage_Authorizenet_Helper_Data */
1.7.0.0 - https://raw.githubusercontent.com/OpenMage/magento-mirror/1.7.0.0/app/design/adminhtml/default/default/template/authorizenet/directpost/iframe.phtml
które zostało dodane dopiero 1.7.0.1 https://raw.githubusercontent.com/OpenMage/magento-mirror/1.7.0.1/app/design/adminhtml/default/default/template/authorizenet/directpost/iframe.phtml
źródło
te pliki załatane, można zobaczyć każdy możliwy wpływ:
szablon: szablony administracyjne w większości załatane.
core / libs:
================================================== ======================= ps tylko utrzymać wszystko razem, stworzyliśmy trochę „nie myślenia” multipatch załatać wiele serwerów z wielu instalacji Magento. multipatch-7405.sh
źródło
Oto mój podstawowy plan testów:
źródło
Należy pamiętać o problemie z przerwanymi sesjami, który został niedawno odkryty i naprawiony (?) Przez Colina Mollenhoura .
https://gist.github.com/colinmollenhour/5066a3220881a9c0c2dd42fa1593cbff/revisions
źródło
Jeśli zaktualizowałeś wersję Magento EE 1.14.2.x do Magento EE 1.14.2.3 zamiast zastosować łatkę, a także zastosowałeś wcześniej łatkę pomocniczą SUPEE-5984 , musisz ją ponownie zainstalować , ponieważ nie jest ona uwzględniona w tej wersji .
To była łatka, która naprawiała uszkodzony indeksator: Błąd indeksu po aktualizacji do EE 1.14.2.0: tabela katalog_produktu_produktu_tekstu_indeksu nie istnieje
źródło
Od 23 lutego 2016 r. Magento wydało łatkę do łaty, która rozwiązuje wiele z tych problemów: https://magento.com/security/patches/supee-7405
Musisz zastosować SUPEE_7405_v1, a następnie SUPEE_7405_v1.1 w kolejności.
źródło
Zrzut ekranu strony ze szczegółami zamówienia administratora, jeśli pokazuje ten problem, wykonaj poniższe instrukcje, które działają dla mnie !!
Rozwiązanie
źródło
Ilekroć instalujemy łatkę dla jednego z naszych klientów, korzystamy z następującej listy kontrolnej:
app/etc/applied.patches.list
pliku)Myślę, że to naprawdę wszystko. Łaty są zaprojektowane tak, aby były instalowane szybko i bez żadnych problemów. 9 na 10 razy zainstalują się idealnie, a innym razem mamy kopie zapasowe. Tak długo, jak nie masz bałaganu w podstawowych plikach, wszystko powinno być w porządku.
źródło
app/etc/applied.patches.list
dotyczy to plików Magento EE
źródło
Po zastosowaniu SUPEE-7405 na Magento 1.14.1.0 dostałem błąd:
Problem został spowodowany przez ponownie zadeklarowaną metodę _validateControllerInstance w
Po usunięciu drugiej (tej samej) deklaracji funkcji problem został rozwiązany.
źródło
Podczas instalowania poprawki SUPEE-7405 wystąpił błąd podczas próby zalogowania się do administratora.
ponieważ plik ten został przesłonięty w lokalnej puli kodów, która nie ma
sendHeadersAndExit
metody utworzonej przez tę poprawkę.\app\code\local\Mage\Core\Controller\Response\Http.php
następująca metoda nie istnieje. (Jest to nowa metoda dodana do pliku podstawowego)Po dodaniu tego do przesłoniętego pliku problem zniknął.
źródło
Jednym z problemów, które wystąpiły podczas korzystania z SUPEE-7405, są błędy przesyłania obrazu
Dlatego sprawdzam zmiany w tym pliku: lib / Varien / File / Uploader.php
Potem znalazłem dwa sposoby na pokonanie tego:
Opcja 1:
Wykonuję ręczną zmianę pliku lib / Varien / File / Uploader.php, aby dostosować uprawnienia 0640/0750.
Opcja 2: Ponieważ Magento oczekuje, że serwer będzie właścicielem plików strony:
http://devdocs.magento.com/guides/m1x/install/installer-privileges_after.html#privs-after
Innym sposobem rozwiązania tego problemu jest uczynienie z serwera właściciela plików
chown -R web-server-name-user-magento / root / path
Nazwą użytkownika serwera WWW jest zwykle www-data lub apache.
źródło