Nowa aktualizacja zabezpieczeń Magento 1 dotyczy 13 problemów APPSEC
https://magento.com/security/patches/supee-10266
Na jakie typowe problemy należy zwrócić uwagę przy stosowaniu tej poprawki?
SUPEE-10266, Magento Commerce 1.14.3.6 i Open Source 1.9.3.6 zawierają wiele ulepszeń bezpieczeństwa, które pomagają zamknąć fałszowanie żądań między witrynami (CSRF), nieautoryzowany wyciek danych oraz luki w zabezpieczeniach uwierzytelnionego użytkownika administracyjnego do zdalnego wykonania kodu. Te wydania zawierają również poprawki problemów z ponownym ładowaniem obrazu i płatnościami za pomocą kasowania w jednym kroku.
magento-1
patches
security
supee-10266
Luke Rodgers
źródło
źródło
Odpowiedzi:
Niektóre ważne informacje są udostępniane tutaj. Większość plików z backendu Magento. Lista plików:
Ważne jest, aby sprawdzić te trzy pliki.
app / code / core / Mage / Checkout / kontrolers / CartController.php dodatkowy warunek sprawdź identyfikator klienta :
Dodano aplikację / code / core / Mage / Sales / Model / Resource / Order / Item / Collection.php Dodatkowa metoda addFilterByCustomerId w kolekcji.
app / code / core / Mage / Core / Model / File / Validator / Image.php
jeśli „general / reprocess_images / active” false, pomiń przetwarzanie obrazów. UWAGA: Jeśli wyłączysz ponowne przetwarzanie obrazów, wówczas proces przesyłania zdjęć może spowodować zagrożenie bezpieczeństwa
Mam nadzieję, że to pomoże. Myślę
źródło
EE 1.14.2.4
Literówka w linii 726 łatki:
autocomplete="new-pawwsord"
(app/design/adminhtml/default/default/template/backup/dialogs.phtml
)W łatce brakuje 2 plików frontendowych:
Łata:
app\design\adminhtml\default\default\template\oauth\authorize\form\login-simple.phtml
Bez łatek:
app\design\frontend\base\default\template\oauth\authorize\form\login-simple.phtml
app\design\frontend\rwd\default\template\oauth\authorize\form\login-simple.phtml
Nie zapomnij też sprawdzić lokalnych zastąpień ... Musiałem ręcznie załatać lokalne zastąpienie bufora kodu
app\design\adminhtml\default\default\template\sales\order\view\info.phtml
Zobacz quasiobject „s odpowiedź dla onepage numerze zamówienia. Utworzono zgłoszenie do wsparcia dla przedsiębiorstw w oczekiwaniu na odpowiedź Magento. Jeśli nie chcesz czekać na zaktualizowaną poprawkę, potencjalną poprawką jest zmodyfikowanie statystyki „else” w
app\design\frontend\enterprise\default\template\giftcardaccount\onepage\payment\scripts.phtml
celu uwzględnienia elementu form_key w następujący sposób:if (($('p_method_' + methodName) && $('p_method_' + methodName).checked) || elements[i].name == 'form_key') { ...
CE 1.9.2.4
Literówka w linii 694 łatki:
autocomplete="new-pawwsord"
(app/design/adminhtml/default/default/template/backup/dialogs.phtml
)Rozszerzenie TrueOrderEdit musi być poprawione ... zmiany
echo $_groupName
doecho $this->escapeHtml($_groupName)
w następujących plików:app\design\adminhtml\default\default\template\orderedit\sales\order\view\edit.phtml
app\design\adminhtml\default\default\template\orderedit\sales\order\view\history.phtml
app\design\adminhtml\default\default\template\orderedit\sales\order\view\info.phtml
Na koniec ten plik szablonu podstawowego powinien prawdopodobnie zostać załatany tą samą aktualizacją $ _groupName:
app\design\adminhtml\default\default\template\sales\order\view\edit.phtml
Wszystkie wersje 1.X
Jeśli usunąłeś
/downloader
folder (lub/downloader/template
) z bazy kodu, być może będziesz musiał ręcznie edytować plik łatki .sh i usunąć ostatnią sekcję, zaczynając oddiff --git downloader/template/login.phtml downloader/template/login.phtml
Jeśli chodzi o błąd nieprawidłowego tajnego klucza , proszę zobaczyć moją odpowiedź tutaj: Magento 1.9 nieprawidłowy tajny klucz. Odśwież stronę
źródło
W MageHost.pro znaleźliśmy problem w łatce do pliku poprawki Magento 1.9.1.1
PATCH_SUPEE-10266_CE_1.9.1.1_v1-2017-09-15-04-59-56.sh
Błąd:
Naprawiłem to, zastępując linie 454-472 przez 454-471 z
PATCH_SUPEE-10266_CE_1.9.1.0_v1-2017-09-13-06-34-33.sh
Stary kod, wiersz 454-472:
Nowy kod, wiersze 454–471:
źródło
Wydaje się, że w tej łatce dodano tylko 1 klucz formularza.
Więc jeśli masz trudności z usunięciem widżetu z panelu administracyjnego, upewnij się, że Twój adres URL jest generowany przez blok i że nie masz żadnych przesłonięć tego bloku.
źródło
Niemożliwe jest pobranie z EE 1.11+
W
app/design/frontend/enterprise/default/template/giftcardaccount/onepage/payment/scripts.phtml
formularzu klucz weryfikacyjny klucza został usunięty i psuje całą kasę, więcej informacji tutaj: https://magento.stackexchange.com/a/193442/2380Obejście na razie (jako wersja 2 dla EE 1.11+ zostanie wydana w celu rozwiązania tego problemu): wycofaj plik szablonu dla obu
enterprise/default
irwd/entreprise
motywów.Różnice między łatką a wersją
EDYCJA: 1.9.3.6 zostało wydane, więc te informacje nie są już istotne
Jednym z głównych problemów, które zostały podniesione na chwilę obecną, jest to, że w 1.9.3.5 brakuje 3 łatek bezpieczeństwa z łatki. Dlatego zdecydowanie zalecam jedynie łatanie, a nie aktualizowanie do wersji 1.9.3.5
źródło
Wciąż próbuję ustalić, czy jest to unikalne dla naszego sklepu, ze względu na niestandardowe szablony. Jest on jednak zepsuty z nałożoną łatką i nie jest zepsuty podczas cofania. Chciałem pisać na wypadek, gdyby inni mogli to samo zgłosić.
W EE 1.14.2.0 nie możemy przejść obok kroku Informacje o płatności w kasie z zastosowaną łatką. Jesteśmy obecni do SUPEE-9767 v2 przed zastosowaniem nowej łatki.
Wydaje się, że nasz problem wynika z ich usunięcia
|| elements[i].name == 'form_key'
z:Jest usuwany z
enablePaymentMethods
pętli. Wygląda na to, że ukryte wejście formularza form_key jest wyłączone i dlatego nie jest przekazywane do kontrolera po przesłaniu.Następnie
$this->_validateFormKey()
kończy się niepowodzeniem, a kontroler nic nie zwraca.Aktualizacja 1 (18.09.2017) : W piątek przesłałem zgłoszenie do pomocy technicznej Magento i powiedziano mi, że „jeszcze nie zgłosili go kupcy”. Zamiast wysyłać kopie zapasowe, próbowałem powielić przy czystej instalacji 1.14.2.4 i 1.14.3.4 z zastosowanymi odpowiednimi łatkami. Udało mi się powielić i odpowiedzieć na bilet. Oczekiwanie na nową odpowiedź.
Uwaga: System> Konfiguracja> Administrator> Bezpieczeństwo> Włącz sprawdzanie poprawności klucza formularza przy kasie musi mieć wartość „Tak”. Jeśli „Nie”, problem nie zostanie wyświetlony.
Aktualizacja 2 (18.09.2017) : Zauważyłem, że nie mogę zduplikować problemu z wersją 1.14.3.6, ale gdy sprawdziłem plik szablonu powyżej,
|| elements[i].name == 'form_key'
nadal tam jest. Wydaje się, że łatki nie powinny go usunąć. Wysłałem te informacje również do pomocy technicznej Magento.Aktualizacja 3 (2017-09-20): Właśnie dostałem łatkę do rozwiązania problemu dla wersji 1.14.0.0–1.14.3.4, która po prostu przywraca
form_key
linię do szablonu. Poproś o wsparcie dla SUPEE-10348.źródło
Gdy przejdziesz do Magento Connect, a następnie klikniesz „Wróć do administratora” w prawym górnym rogu strony. Po powrocie do panelu administracyjnego pojawia się komunikat o błędzie
czerwony komunikat o błędzie: „Nieprawidłowy tajny klucz. Odśwież stronę”.
Po odświeżeniu strona zniknęła.
Zaktualizowano: 15 września 2017 r
Jeśli zalogujesz się do administratora Magento, powiedzmy Dashboard. Bez wylogowania z panelu Dashboard idziesz otworzyć inne okno przeglądarki w tej samej przeglądarce i przejść do example.com/admin, automatycznie się zaloguje i wyświetli dokładnie ten sam komunikat
czerwony komunikat o błędzie: „Nieprawidłowy tajny klucz. Odśwież stronę”.
Jak dotąd to jedyny problem, jaki znalazłem. Nie jestem nawet pewien, czy jest to poważny problem, ponieważ komunikat przestaje być wyświetlany po odświeżeniu.
źródło
if ($_keyErrorMsg != '') { Mage::getSingleton('adminhtml/session')->addError($_keyErrorMsg); };
powinien byćif (!$_isValidFormKey){ Mage::getSingleton('adminhtml/session')->addError($_keyErrorMsg); };
Poprosiłem wsparcie Magento o następujący problem
Odpowiedzieli mi dziś rano i wypuścili nową łatkę PATCH_SUPEE-10348 .
Magento właśnie rozwiązało problem, przywracając ten plik.
źródło
Wystąpił problem z szablonami e-mail, niestandardowym CSS i modmanem. Jeśli masz np. Motyw oparty na
rwd/default
niestandardowym,skin/frontend/package/theme/css/email-inline.css
a pliki skórki są dołączane za pośrednictwem modmana za pomocą dowiązania symbolicznego, CSS nie zostanie dodany do szablonu poczty po zastosowaniu SUPEE-10266. Problem polega na tymMage_Core_Model_Email_Template_Abstract::_getCssFileContent
, że wprowadzono pewne kontrole:Rozwiązałem go na razie z brudnym włamaniem z
app/code/local/Mage/Core/Model/Email/Template/Abstract.php
przesłonięciem. Musiałem osłabić kontrolę, aby możliwe było załadowanie pliku CSS z katalogu modman:Nie sprawdzi, czy ścieżka zawiera już pełny katalog skórek, ale sprawdzi tylko, czy ścieżka zawiera ciąg znaków
/skin
i czy go nie zawiera..
, co powinno zapobiec atakom przechodzenia przez katalog.źródło
if (strpos($filename, '..') === false) { $positionSkinDirectory = 1; }
wiersza, po którym$positionSkinDirectory
został pierwotnie ustawiony. Powinno to pomóc uniknąć przechodzenia przez katalog.Oto pełna lista poprawek dotkniętych
autocomplete="new-pawwsord"
literówką:źródło
Na Magento 1.8.1 napotkałem problemy z następującymi plikami:
Skończyło się na pobraniu najnowszej wersji Magento, która NIE zawiera łatki. W tym przypadku Magento 1.9.3.4 .
Zastąpienie „uszkodzonych” plików plikiem pobranym rozwiązało problem. Udało mi się zastosować łatkę.
Ale bądź ostrożny: proponuję przywrócić 3 pliki po ponownej łatce i ręcznie edytować pliki.
źródło