Poprawka bezpieczeństwa SUPEE-11155 - Możliwe problemy?


28

Magento wydało nową łatkę bezpieczeństwa dla M1 oraz aktualizacje dla M1 i M2.

Na jakie typowe problemy należy zwrócić uwagę przy stosowaniu tej poprawki / aktualizacji?

Magento 1

https://magento.com/security/patches/supee-11155

Magento 2

To powinna być ostatnia wersja z serii 2.1, która osiągnie EOL pod koniec tego miesiąca.


1
ktoś przetestował, co to oznacza na świecie: „Cytaty utworzone przez klientów zalogowanych jako gość nie są już dostępne po aktualizacji Magento. Rozszerzenia kasy i zamknięte zabezpieczenia innych firm albo nie będą działać bezpiecznie, albo nie będą działać w wszystko." ?
Kalvin Klien

Jestem bardzo zainteresowany zmianami, do których odnosi się naprawiony błąd PRODSECBUG-2330
Richie Frame

Odpowiedzi:


11

Ta poprawka jest niezgodna z łatką wspierającą PHP 7.2 . Usunięcie linii od 1711 do 1761 pozwala zastosować łatkę. Ta poprawka próbuje załatać pliki, które zostały usunięte przez poprawkę 7.2. Usunięcie tych linii powinno być bezpieczne.


1
Którą wersję M1 używasz (lub którą wersję łatki pobrałeś)? Jesteśmy na niestandardowej łatce 1.7, więc musimy przyjrzeć się bliżej
Laura

1
@Laura Jestem na 1.9.2
Michael Thessel

1
Dostępna jest nowa wersja łatki, v4, która obsługuje PHP 7.2.
Laura

11

Błąd instalacji w wersji 1.7.0.2 CE z zainstalowanymi wszystkimi poprzednimi łatkami (patrz poniżej).

EDYCJA: Problem (nr 1) został spowodowany brakującym plikiem - app / code / core / Mage / Catalog / Model / Product / Option / Type / File.php.orig

Problem (nr 1) rozwiązany przez usunięcie wierszy 874-1702 (odnoszących się do pliku File.php.orig) ze skryptu poprawki.

Problem (nr 2) został spowodowany niewłaściwym formatowaniem łatki i pliku - js / tiny_mce / plugins / media / js / media.js

Problem (nr 2) został rozwiązany przez uruchomienie polecenia dos2unix zarówno dla pliku poprawki, jak i dla pliku media.js

Poprawka zainstalowana pomyślnie po rozwiązaniu dwóch opisanych problemów.

Sprawdzanie, czy łatka może zostać pomyślnie zastosowana / cofnięta ...

BŁĄD: Nie można pomyślnie zastosować / przywrócić poprawki.

aplikacja łatająca plik / Mage.php aplikacja łatająca plik / code / core / Mage / Admin / Model / Block.php aplikacja łatająca plik / code / core / Mage / Admin / Model / User.php aplikacja łatająca plik / code / core / Mage /AdminNotification/etc/system.xml aplikacja łatająca plik / code / core / Mage / Adminhtml / Block / Api / Role / Grid / User.php aplikacja łatająca plik / code / core / Mage / Adminhtml / Block / Catalog / Product / Edit /Tab/Super/Config.php aplikacja łatająca plik / code / core / Mage / Adminhtml / Block / Newsletter / Queue / Preview.php aplikacja łatająca plik / code / core / Mage / Adminhtml / Block / Newsletter / Template / Preview.php aplikacja łatająca plik / code / core / Mage / Adminhtml / Block / Uprawnienia / Role / Grid / User.php aplikacja łatająca plik / code / core / Mage / Adminhtml / Block / Sales / Creditmemo / Grid.php aplikacja łatająca plik / code / core / Mage / Adminhtml / Block / Sales / Invoice / Grid.php patch file file app / code / core / Mage / Adminhtml / Block / Sales / Order / Create / Header.Aplikacja łatająca php / kod / rdzeń / Mag / Adminhtml / Blok / Sprzedaż / Zamówienie / Creditmemo / Create.php Aplikacja łatająca / kod / core / Mage / Adminhtml / Blok / Sprzedaż / Zamówienie / Grid.php Aplikacja łatająca / kod /core/Mage/Adminhtml/Block/Sales/Order/Invoice/Create.php aplikacja łatająca plik / code / core / Mage / Adminhtml / Block / Sales / Order / Shipment / Create.php aplikacja łatająca plik / code / core / Mage /Adminhtml/Block/Sales/Order/View.php aplikacja łatająca plik / code / core / Mage / Adminhtml / Block / Sales / Shipment / Grid.php aplikacja łatająca plik / code / core / Mage / Adminhtml / Block / Sales / Transactions /Grid.php aplikacja łatająca plik / code / core / Mage / Adminhtml / Block / System / Email / Template / Preview.php aplikacja łatająca plik / code / core / Mage / Adminhtml / Block / Template.php aplikacja łatająca plik / code / core / Mage / Adminhtml / Block / Widget / Grid / Column / Renderer / Abstract.Aplikacja łatająca plik php / kod / rdzeń / Mag / Adminhtml / Model / LayoutUpdate / Validator.php Aplikacja łatająca plik / code / core / Mage / Adminhtml / Model / System / Config / Backend / Baseurl.php Aplikacja łatająca plik / code / core /Mage/Adminhtml/Model/System/Config/Backend/Locale.php aplikacja łatająca plik / code / core / Mage / Adminhtml / Model / System / Config / Backend / Serialized / Array.php aplikacja łatająca plik / code / core / Mage /Adminhtml/controllers/Catalog/Product/AttributeController.php aplikacja łatająca plik / kod / rdzeń / Mage / Adminhtml / kontrolery / Katalog / Produkt / ReviewController.php aplikacja łatająca plik / kod / rdzeń / Mage / Adminhtml / kontrolery / Katalog / ProductController Aplikacja łatająca plik .php / kod / rdzeń / Mag / Adminhtml / kontrolery / Kasa / UmowaController. Aplikacja łatająca plik .php / kod / rdzeń / Mag / Administrator / kontrolery / Biuletyn / SzablonKontroler.Aplikacja łatająca plik php / kod / rdzeń / Mage / Adminhtml / kontrolery / Promo / CatalogController.php Aplikacja łatająca plik / code / core / Mage / Adminhtml / kontrolery / Promo / QuoteController.php Aplikacja łatająca plik / code / core / Mage / Adminhtml /controllers/Sales/Order/CreateController.php aplikacja łatająca plik / code / core / Mage / Adminhtml / controllers / SitemapController.php aplikacja łatająca plik / code / core / Mage / Adminhtml / kontrolery / System / Email / TemplateController.php plik łatający app / code / core / Mage / Catalog / Helper / Product.php NastępnyAplikacja łatająca plik php / code / core / Mage / Adminhtml / kontrolery / System / Email / TemplateController.php Aplikacja łatająca plik / code / core / Mage / Catalog / Helper / Product.php NastępnyAplikacja łatająca plik php / code / core / Mage / Adminhtml / kontrolery / System / Email / TemplateController.php Aplikacja łatająca plik / code / core / Mage / Catalog / Helper / Product.php Następny

łatka usuwa plik app / code / core / Mage / Catalog / Model / Product / Option / Type / File.php.orig, który nie istnieje!
Załóżmy -R? [n]
Mimo to złożyć wniosek? [n]
Pomijanie łatki. 1 na 1 przystojniak zignorował plik łatania

app / code / core / Mage / Catalog / kontrolers / Product / CompareController.php plik łatki app / code / core / Mage / Checkout / Model / Session.php plik łatki app / code / core / Mage / Checkout / controllers / OnepageController. Aplikacja łatająca plik php / code / core / Mage / Cms / Helper / Data.php Aplikacja łatająca plik / code / core / Mage / Cms / Model / Wysiwyg / Config.php Aplikacja łatająca plik / code / core / Mage / Cms / etc /config.xml aplikacja łatająca plik / code / core / Mage / Compiler / Model / Process.php aplikacja łatająca plik / code / core / Mage / Core / Helper / Abstract.php aplikacja łatająca plik / code / core / Mage / Core / Aplikacja łatająca plik / kod / rdzeń / Mage / Core / Model / Design / Package / php Aplikacja łatająca plik / code / core / Mage / Core / Model / Email / Template / Filter.php /core/Mage/Core/Model/File/Validator/AvailablePath.php aplikacja do łatania / code / core / Mage / Core / Model / Observer.Aplikacja łatająca plik php / code / core / Mage / Core / etc / config.xml Aplikacja łatająca plik / code / core / Mage / Core / functions.php Aplikacja łatająca plik / code / core / Mage / CurrencySymbol / Model / System / Currencysymbol Aplikacja łatająca plik .php / kod / rdzeń / Mage / Do pobrania / kontrolery / DownloadController.php Aplikacja łatająca plik / kod / rdzeń / Mage / SalesRule / Model / Coupon / Massgenerator.php Aplikacja łatająca plik / code / core / Mage / SalesRule / Model / Zasób / Raport / Reguła / Createdat.php aplikacja łatająca plik / code / core / Mage / Sendfriend / etc / config.xml aplikacja łatająca plik / code / core / Mage / Sendfriend / etc / system.xml aplikacja łatająca plik / projekt /adminhtml/default/default/template/catalog/product/composite/fieldset/configurable.phtml aplikacja łatająca plik / design / adminhtml / default / default / template / catalog / product / helper / gallery.aplikacja łatająca plik phtml / design / adminhtml / default / default / template / catalog / product / tab /ventory.phtml aplikacja łatająca plik / design / adminhtml / default / default / template / currencysymbol / grid.phtml aplikacja łatająca plik / design / adminhtml /default/default/template/customer/tab/addresses.phtml aplikacja łatająca plik / design / adminhtml / default / default / template / customer / tab / view.phtml aplikacja łatająca plik / design / adminhtml / default / default / template / powiadomienie /window.phtml aplikacja łatająca plik / design / adminhtml / default / default / template / sales / order / create / data.phtml aplikacja łatająca plik / design / adminhtml / default / default / template / sales / order / view / info.phtml aplikacja łatająca plik / design / adminhtml / default / default / template / system / currency / rate / matrix.phtml aplikacja łatająca plik / locale / en_US / Mage_Adminhtml.csv aplikacja łatająca plik / locale / en_US / Mage_Core.plik łatki csv app / locale / en_US / Mage_Sales.csv plik łatki app / locale / en_US / Mage_Sitemap.csv plik łatki js / mage / adminhtml / wysiwyg / tiny_mce / setup.js plik łatki js / tiny_mce / plugins / media / js / media.js

Hunk # 1 FAILED at 434. 1 z 1 hunk FAILED - zapisywanie odrzuceń do pliku łatki js / tiny_mce / plugins / media / js / media.js.rej

js / varien / js.js plik łatki lib / phpseclib / PHP / Compat / Function / array_fill.php plik łatki lib / phpseclib / PHP / Compat / Function / bcpowmod.php plik łatki lib / phpseclib / PHP / Compat / Function / str_split .php


Dziękuję Ci. Te dwa problemy były również tymi, z którymi miałem do czynienia w wersji 1.7.0.2 i PATCH_SUPEE-11155_CE_1.7.0.2_v3-2019-06-18-08-07-47.sh
Anthony

Wykrywanie problemów 1.7.7.2.
shaune

9

Magento 1.9.1.0.

Łatka została zastosowana pomyślnie.

Po dodaniu produktu do koszyka, a następnie zalogowaniu się, koszyk jest ponownie pusty.

Nie sądzę, że problem był już wcześniej i wydaje się, że wprowadzono zmiany app/code/core/Mage/Checkout/Model/Session.php

AKTUALIZACJA:

Trochę to debugowałem.

Kiedy przywracam łataną wersję app/code/core/Mage/Checkout/Model/Session.php, znów działa ona dla mnie. Jestem więc pewien, że ma to związek z łatką.

Najpierw pomyślałem, że to w połączeniu z, $quote->unsetData();ale moje testy były niejednoznaczne i i tak nie byłoby poprawki, aby je usunąć.

Ponieważ jestem teraz na wakacjach, mam ograniczony czas na zbadanie tego dalej.

AKTUALIZACJA 2:

Ten problem wydaje się rozwiązany w najnowszej łatce (SUPEE-11219). Wprowadzono zmiany w aplikacji / code / core / Mage / Checkout / Model / Session.php.


Magento ma notatkę w informacjach o wydaniu: „Cytaty utworzone przez klientów zalogowanych jako gość nie są już dostępne po aktualizacji Magento. Rozszerzenia płatności i zamknięte przypadki zabezpieczeń innych firm albo nie będą działać bezpiecznie, albo w ogóle nie będą działać. „. Proszę ich teraz o wyjaśnienia. devdocs.magento.com/guides/m1x/ce19-ee114/…
Kalvin Klien

Cześć @Claudio, czy znalazłeś jakieś rozwiązanie / odpowiedź na ten problem? Obecnie mam do czynienia z tym samym: dodaj do koszyka -> kasy -> utworzenie konta -> powrót do strony głównej, pusty koszyk, ale zalogowałem się ... Z góry dziękuję.
Antoine Kociuba

Cześć @AntoineKociuba, niestety nie. Szczerze mówiąc, tak naprawdę nie szukałem rozwiązania.
Claudio

Ten problem wydaje się rozwiązany w najnowszej łatce (SUPEE-11219). Wprowadzono zmiany w aplikacji / code / core / Mage / Checkout / Model / Session.php.
Claudio

7

Na M1, w szczególności 1.9.2.1 w / wszystkie poprzednie poprawki zastosowane. Wystąpił następujący błąd:

Hunk #1 FAILED at 483.
1 out of 1 hunk FAILED -- saving rejects to file js/tiny_mce/plugins/media/js/media.js.rej

Usunięcie wierszy dotyczących tego pliku z pliku poprawki i ręczne zastosowanie tej zmiany działało dla mnie, gdy ponownie zastosowałem plik poprawki.

Kiedy spojrzałem na różnicę między plikiem js / tiny_mce / plugins / media / js / media.js a plikiem z OpenMage Mirror , były to identyczne pliki.


Ten plik nie został w ogóle dotknięty żadnymi łatkami ani ręcznymi aktualizacjami. To wydaje się problemem w łatce? Patrząc na jego nazwę, wygląda na to, że były już 1-3 wersje przed wydaniem.
Kalvin Klien

Zastosowano ten problem w wersji 1.9.1.1 ze wszystkimi poprzednimi łatkami. Zastąpienie js / tiny_mce / plugins / media / js / media.js plikiem z OpenMage Mirror działało dla mnie. Chociaż zawartość plików była identyczna, myślę, że zakończenia linii w moim istniejącym pliku były z jakiegoś powodu błędne.
wr125

5
Uruchomienie dos2unix na łatce przed zastosowaniem poprawiło nam problem. Poprzednio nieudane jak wyżej, zakończone pomyślnie po.
joesk

Uruchomienie dos2unix na pliku łaty rozwiązało ten problem dla mnie w wersji 1.9.2.3, ale nie znalazłem, że było to wymagane w wersji 1.9.2.1 (wypróbowałem to z ciekawości i spowodowało to awarię poprawki).
Dave Herbert

5

1.9.1.0, po pomyślnym zastosowaniu łatki, uzyskaj poniżej błędu podczas logowania administratora

Fatal error: Call to undefined function random_int() in /app/code/core/Mage/Core/Helper/Data.php on line 257 

jak naprawić?


Również po aktualizacji z 1.9.4.1 do 1.9.4.2 mamy ten sam problem.
joesk

Ten sam problem pojawia się w 1.9.4.1 z 11155.
seanbreeden

7
Problemem okazało się przesłonięcie aplikacji / code / core / Mage / Core / functions.php. Upewnij się, że nikt nie zastąpił tego pliku, inaczej łata nie powiedzie się z powodu błędu wywołania niezdefiniowanej funkcji. Zajrzyj do „app / code / local / Mage / Core / functions.php”
seanbreeden

1
masz rację.
cze

1
Dziękuję bardzo @seanbreeden!
Mauricio Paz,

3

Na M1, 1.9.1.0 z zastosowanymi wszystkimi poprzednimi łatami, pojawia się wiele błędów:

checking file app/Mage.php 
Hunk #1 FAILED at 813. 
1 out of 1 hunk FAILED

checking file app/code/core/Mage/Adminhtml/Block/Catalog/Product/Edit/Tab/Super/Config.php
Hunk #1 FAILED at 155.
1 out of 1 hunk FAILED

checking file app/code/core/Mage/Adminhtml/Model/LayoutUpdate/Validator.php
Hunk #1 FAILED at 180.
1 out of 1 hunk FAILED

checking file app/code/core/Mage/Cms/Helper/Data.php
Hunk #1 FAILED at 37.
Hunk #2 succeeded at 58 with fuzz 2 (offset -16 lines).
1 out of 2 hunks FAILED

checking file app/design/adminhtml/default/default/template/catalog/product/helper/gallery.phtml
Hunk #1 FAILED at 59.
1 out of 1 hunk FAILED

checking file js/tiny_mce/plugins/media/js/media.js
Hunk #1 FAILED at 483 (different line endings).
1 out of 1 hunk FAILED

Patrząc na sam kod w pliku łaty, wydaje się, że w ogóle nie pasuje do PHP w mojej instalacji.

Może gdzieś po drodze przegapiłem łatkę?


Myślę, że prawdopodobnie pominąłeś łatkę. Sprawdź swoją /app/etc/applied.patches.list
Kalvin Klien

patrz: magento.stackexchange.com/a/280148/202 na temat Hunk # 1 FAILED na 59 na gallery.phtml - możliwe, że masz również tę zmianę w kodzie?
ProxiBlue

@Matt Czy wiesz, którą poprawkę przegapiłeś?
rupi

3

Magento 1.7.0.2

Otrzymuję:

Hunk #1 succeeded at 113 with fuzz 2 (offset 4 lines).
checking file js/tiny_mce/plugins/media/js/media.js
checking file js/varien/js.js

Hunk #1 succeeded at 707 (offset 5 lines).
checking file lib/phpseclib/PHP/Compat/Function/array_fill.php
checking file lib/phpseclib/PHP/Compat/Function/bcpowmod.php
checking file lib/phpseclib/PHP/Compat/Function/str_split.php

Czy to z łaty PHP 7.2?

AKTUALIZACJA: wygląda na to, że te pliki były w porządku, to tylko przesunięcie pustej przestrzeni.

Plik problemu to:

checking file app/code/core/Mage/Catalog/Model/Product/Option/Type/File.php.orig

Myślę, że to był plik, który pozostał po jednej z łat. Nowa poprawka po prostu usuwa ten plik. Nie miałem go w tym katalogu, więc pojawił się błąd.

AKTUALIZACJA: lista dotkniętych plików w Magento 1.7.0.2

app/Mage.php
app/code/core/Mage/Admin/Model/Block.php
app/code/core/Mage/Admin/Model/User.php
app/code/core/Mage/AdminNotification/etc/system.xml
app/code/core/Mage/Adminhtml/Block/Api/Role/Grid/User.php
app/code/core/Mage/Adminhtml/Block/Catalog/Product/Edit/Tab/Super/Config.php
app/code/core/Mage/Adminhtml/Block/Newsletter/Queue/Preview.php
app/code/core/Mage/Adminhtml/Block/Newsletter/Template/Preview.php
app/code/core/Mage/Adminhtml/Block/Permissions/Role/Grid/User.php
app/code/core/Mage/Adminhtml/Block/Sales/Creditmemo/Grid.php
app/code/core/Mage/Adminhtml/Block/Sales/Invoice/Grid.php
app/code/core/Mage/Adminhtml/Block/Sales/Order/Create/Header.php
app/code/core/Mage/Adminhtml/Block/Sales/Order/Creditmemo/Create.php
app/code/core/Mage/Adminhtml/Block/Sales/Order/Grid.php
app/code/core/Mage/Adminhtml/Block/Sales/Order/Invoice/Create.php
app/code/core/Mage/Adminhtml/Block/Sales/Order/Shipment/Create.php
app/code/core/Mage/Adminhtml/Block/Sales/Order/View.php
app/code/core/Mage/Adminhtml/Block/Sales/Shipment/Grid.php
app/code/core/Mage/Adminhtml/Block/Sales/Transactions/Grid.php
app/code/core/Mage/Adminhtml/Block/System/Email/Template/Preview.php
app/code/core/Mage/Adminhtml/Block/Template.php
app/code/core/Mage/Adminhtml/Block/Widget/Grid/Column/Renderer/Abstract.php
app/code/core/Mage/Adminhtml/Model/LayoutUpdate/Validator.php
app/code/core/Mage/Adminhtml/Model/System/Config/Backend/Baseurl.php
app/code/core/Mage/Adminhtml/Model/System/Config/Backend/Locale.php
app/code/core/Mage/Adminhtml/Model/System/Config/Backend/Serialized/Array.php
app/code/core/Mage/Adminhtml/controllers/Catalog/Product/AttributeController.php
app/code/core/Mage/Adminhtml/controllers/Catalog/Product/ReviewController.php
app/code/core/Mage/Adminhtml/controllers/Catalog/ProductController.php
app/code/core/Mage/Adminhtml/controllers/Checkout/AgreementController.php
app/code/core/Mage/Adminhtml/controllers/Newsletter/TemplateController.php
app/code/core/Mage/Adminhtml/controllers/Promo/CatalogController.php
app/code/core/Mage/Adminhtml/controllers/Promo/QuoteController.php
app/code/core/Mage/Adminhtml/controllers/Sales/Order/CreateController.php
app/code/core/Mage/Adminhtml/controllers/SitemapController.php
app/code/core/Mage/Adminhtml/controllers/System/Email/TemplateController.php
app/code/core/Mage/Catalog/Helper/Product.php
app/code/core/Mage/Catalog/controllers/Product/CompareController.php
app/code/core/Mage/Checkout/Model/Session.php
app/code/core/Mage/Checkout/controllers/OnepageController.php
app/code/core/Mage/Cms/Helper/Data.php
app/code/core/Mage/Cms/Model/Wysiwyg/Config.php
app/code/core/Mage/Cms/etc/config.xml
app/code/core/Mage/Compiler/Model/Process.php
app/code/core/Mage/Core/Helper/Abstract.php
app/code/core/Mage/Core/Helper/Data.php
app/code/core/Mage/Core/Model/Design/Package.php
app/code/core/Mage/Core/Model/Email/Template/Filter.php
app/code/core/Mage/Core/Model/File/Validator/AvailablePath.php
app/code/core/Mage/Core/Model/Observer.php
app/code/core/Mage/Core/etc/config.xml
app/code/core/Mage/Core/functions.php
app/code/core/Mage/CurrencySymbol/Model/System/Currencysymbol.php
app/code/core/Mage/Downloadable/controllers/DownloadController.php
app/code/core/Mage/SalesRule/Model/Coupon/Massgenerator.php
app/code/core/Mage/SalesRule/Model/Resource/Report/Rule/Createdat.php
app/code/core/Mage/Sendfriend/etc/config.xml
app/code/core/Mage/Sendfriend/etc/system.xml
app/design/adminhtml/default/default/template/catalog/product/composite/fieldset/configurable.phtml
app/design/adminhtml/default/default/template/catalog/product/helper/gallery.phtml
app/design/adminhtml/default/default/template/catalog/product/tab/inventory.phtml
app/design/adminhtml/default/default/template/currencysymbol/grid.phtml
app/design/adminhtml/default/default/template/customer/tab/addresses.phtml
app/design/adminhtml/default/default/template/customer/tab/view.phtml
app/design/adminhtml/default/default/template/notification/window.phtml
app/design/adminhtml/default/default/template/sales/order/create/data.phtml
app/design/adminhtml/default/default/template/sales/order/view/info.phtml
app/design/adminhtml/default/default/template/system/currency/rate/matrix.phtml
app/etc/applied.patches.list
app/locale/en_US/Mage_Adminhtml.csv
app/locale/en_US/Mage_Core.csv
app/locale/en_US/Mage_Sales.csv
app/locale/en_US/Mage_Sitemap.csv
js/mage/adminhtml/wysiwyg/tiny_mce/setup.js
js/mage/adminhtml/wysiwyg/tiny_mce/setup.js.orig
js/tiny_mce/plugins/media/js/media.js
js/varien/js.js
js/varien/js.js.orig
lib/phpseclib/PHP/Compat/Function/array_fill.php
lib/phpseclib/PHP/Compat/Function/bcpowmod.php
lib/phpseclib/PHP/Compat/Function/str_split.php

2

Na wersji M1 1.9.4.0 ze wszystkimi poprzednimi łatkami pojawił się następujący błąd

checking file app/Mage.php
Hunk #1 FAILED at 816.
1 out of 1 hunk FAILED

jak widzę z pliku łatki, szuka

diff --git app/Mage.php app/Mage.php
index 1136f6e9351..eb9e6db3a9e 100644
--- app/Mage.php
+++ app/Mage.php
@@ -816,9 +816,9 @@ final class Mage
             ',',
             (string) self::getConfig()->getNode('dev/log/allowedFileExtensions', Mage_Core_Model_Store::DEFAULT_CODE)
         );
-        $logValidator = new Zend_Validate_File_Extension($_allowedFileExtensions);
         $logDir = self::getBaseDir('var') . DS . 'log';
-        if (!$logValidator->isValid($logDir . DS . $file)) {
+        $validatedFileExtension = pathinfo($file, PATHINFO_EXTENSION);
+        if (!$validatedFileExtension || !in_array($validatedFileExtension, $_allowedFileExtensions)) {
             return;
         }

ale zamiast tego oto co mam

        }

        try {
            if (!isset($loggers[$file])) {
                $logDir  = self::getBaseDir('var') . DS . 'log';
                $logFile = $logDir . DS . $file;

                if (!is_dir($logDir)) {
                    mkdir($logDir);

Potwierdziłem na https://raw.githubusercontent.com/OpenMage/magento-mirror/1.9.4.0/app/Mage.php, że mamy poprawny kod i wersję.

Zaktualizuję, jeśli znajdę rozwiązanie


Ten sam problem z 1.9.3.7
veli

Zgadzam się z @Haim. Ten sam problem pojawia się również po zastosowaniu poprawki SUPEE -11155 w wersji M1 1.9.4.0. Poniżej jednego błędu Sprawdzanie, czy poprawkę można pomyślnie zastosować / przywrócić ... -e BŁĄD: Poprawki nie można pomyślnie zastosować / przywrócić. sprawdzanie pliku app / Mage.php Hunk # 1 FAILED o 816. 1 z 1 hunk FAILED Daj mi znać, jeśli ktoś znajdzie rozwiązanie
Vikas Gupta

2

Korzystanie z open-mag-lts 1.9.4.1

sprawdzanie pliku app / design / adminhtml / default / default / template / catalog / product / helper / gallery.phtml Przystojniak # 1 NIEudany o 59. 1 z 1 przystojniacz NIEudany

Porównywanie -lts do rdzenia:

00:20 $ diff app/design/adminhtml/default/default/template/catalog/product/helper/gallery.phtml /tmp/gallery.phtml 
62c62
<                 <th><?php echo str_replace("&lt;br/&gt;","<br/>",$this->escapeHtml($type['label'])); ?></th>
---
>                 <th><?php echo $this->escapeHtml($type['label']); ?></th>

który został wprowadzony przez ten PR-in

https://github.com/OpenMage/magento-lts/pull/596

https://github.com/OpenMage/magento-lts/pull/788


Poprawiony kod:

-                <th><?php echo $this->escapeHtml($type['label']); ?></th>
+                <th><?php echo $this->escapeHtml($type['label'], array('br')); ?></th>

W przypadku korzystania z wersji Enterprise 1.14.4.0 ten sam kod błędu jest spowodowany przez poprzednią poprawkę zabezpieczeń 10888. Naprawiono to, aby zaktualizować wiersz 61 aplikacji / design / adminhtml / default / default / template / catalog / product / helper / gallery.phtml Od: <? Php foreach ($ _block-> getImageTypes () as $ typeId => $ type):?> Do: <? Php foreach ($ _block-> getImageTypes () as $ typeId => $ type):?>
Baber

2

Czegoś brakuje w SUPEE-11155 (CE / EE) jest to, że w Mage_Catalog_Helper_Productpliku klasy getDefaultProductValuewprowadzono metodę opartą na DEFAULT_QTYzmiennej stałej.

Problem polega na tym, że ta zmienna nie istnieje w wielu różnych plikach poprawek i występuje tylko na kilku z nich: https://ibb.co/LzcL0gn

Czy sami go załatamy? Magento, jesteś tego świadomy?

Dziękuję wszystkim


Co sprawia, że ​​mówisz, że zmienna nie znajdująca się w łatce jest problemem? Zmienna prawdopodobnie istnieje już w tej wersji Magento.
Peter O'Callaghan

@ PeterO'Callaghan Nop, problem polega na tym, że ta zmienna nie istnieje przez cały czas w tej wersji. Testowane na EE 1.14.0.1 i EE 1.14.2.2 i nic. Aby to potwierdzić, widzimy, że w wersjach CE 1.8 ta zmienna nie jest uwzględniona w łatce i nie jest domyślnie obecna w kodzie źródłowym (patrz github.com/OpenMage/magento-mirror/blob/magento-1.8 / app / code /… ). Więc jestem pewien, że niestety mamy tutaj problem z wieloma wersjami CE / EE.
Antoine Kociuba

2

Czy to tylko ja, czy to nie wygląda na błąd?

PATCH_SUPEE-11155_EE_1.14.2.0_v3-2019-06-18-08-46-48.sh

  • Funkcja jest napisana, aby uzyskać domyślną wartość produktu według nazwy pola, ale zawsze zwraca albo:
    • $ fieldData ['inwentaryzacja']; (Inwentarz)
    • self :: DEFAULT_QTY (ta stała nie jest zdefiniowana)

Czy coś mi umyka?

   1026 diff --git app/code/core/Mage/Catalog/Helper/Product.php app/code/core/Mage/Catalog/Helper/Product.php
   1027 index 45756bf74dc..476483f35bb 100755
   1028 --- app/code/core/Mage/Catalog/Helper/Product.php
   1029 +++ app/code/core/Mage/Catalog/Helper/Product.php
   1030 @@ -485,4 +485,41 @@ class Mage_Catalog_Helper_Product extends Mage_Core_Helper_Url
   1031      {
   1032          return $this->_skipSaleableCheck;
   1033      }
   1034 +
   1035 +    /**
   1036 +     * Get default product value by field name
   1037 +     *
   1038 +     * @param string $fieldName
   1039 +     * @param string $productType
   1040 +     * @return int
   1041 +     */
   1042 +    public function getDefaultProductValue($fieldName, $productType)
   1043 +    {
   1044 +        $fieldData = $this->getFieldset($fieldName) ? (array) $this->getFieldset($fieldName) : null;
   1045 +        if (
   1046 +            count($fieldData)
   1047 +            && array_key_exists($productType, $fieldData['product_type'])
   1048 +            && (bool)$fieldData['use_config']
   1049 +        ) {
   1050 +            return $fieldData['inventory'];
   1051 +        }
   1052 +        return self::DEFAULT_QTY;
   1053 +    }
   1054 +
   1055 +    /**
   1056 +     * Return array from config by fieldset name and area
   1057 +     *
   1058 +     * @param null|string $field
   1059 +     * @param string $fieldset
   1060 +     * @param string $area
   1061 +     * @return array|null
   1062 +     */
   1063 +    public function getFieldset($field = null, $fieldset = 'catalog_product_dataflow', $area = 'admin')
   1064 +    {
   1065 +        $fieldsetData = Mage::getConfig()->getFieldset($fieldset, $area);
   1066 +        if ($fieldsetData) {
   1067 +            return $fieldsetData ? $fieldsetData->$field : $fieldsetData;
   1068 +        }
   1069 +        return $fieldsetData;
   1070 +    }

Good News jest to, że nazywa się tylko za pośrednictwem jednego obszaru w kodzie i jak długo masz ważny identyfikator produktu nie będzie wywołać tę funkcję. Ale jeśli nie ma prawidłowego identyfikatora produktu lub ktoś próbuje użyć tej funkcji na podstawie tego, jak została zaprojektowana, prawdopodobnie pojawią się problemy.

app / design / adminhtml / default / default / template / catalog / product / tab /ventory.phtml

<?php echo (bool)$this->getProduct()->getId() ? (int)$this->getFieldValue('min_sale_qty') : Mage::helper('catalog/product')->getDefaultProductValue('min_sale_qty', $this->getProduct()->getTypeId()) ?>

2

Dla tych, którzy używają PHP 5.3 (lub mniej niż 5.4), oto niektóre części łatki, które należy zmienić.

Dla porównania, dotyczy to PATCH_SUPEE-11155_CE_1.7.0.2_v4-2019-08-01-03-58-34

app / code / core / Mage / Adminhtml / controllers / Newsletter / TemplateController.php

$allowedHtmlTags = ['text', 'styles'];

FIX:
$allowedHtmlTags = array('text', 'styles');

app / code / core / Mage / Adminhtml / controllers / System / Email / TemplateController.php

$allowedHtmlTags = ['template_text', 'styles']

FIX:
$allowedHtmlTags = array('template_text', 'styles');

app / code / core / Mage / Cms / Helper / Data.php

$statusSwf = $statusSwf->asArray()[0];

FIX:
$statusSwf = $statusSwf->asArray();
$statusSwf = $statusSwf[0];

Uwaga: Jeśli zmieniasz je w pliku łatki, pamiętaj również o zmianie pozycji długości, ponieważ dodajesz nowy wiersz w pliku łatki. Na przykład dla ostatniego wspomnianego powyżej:

@@ -74,4 +75,19 @@ class Mage_Cms_Helper_Data extends Mage_Core_Helper_Abstract

change to 

@@ -74,4 +75,20 @@ class Mage_Cms_Helper_Data extends Mage_Core_Helper_Abstract
             ^^ incremented

2

EE 1.13.1.0 z uruchomionym PHP 7.0.x z modułem Inchoo PHP7:

Promocje> Zasady koszyka zakupów (prawdopodobnie także inne): nie można zapisać reguły, zgłaszany jest wyjątek „Określono niewłaściwą regułę”.

Rozwiązaliśmy ten problem przepisując Mage_Adminhtml_Helper_Data :: removeTags przy użyciu tego z 1.14.xx (użyłem 1.14.4.0 - nie jestem pewien, która wersja go zmieniła).

Zaktualizowana wersja:

public function removeTags($html)
{
    $html = preg_replace_callback(
        "# <(?![/a-z]) | (?<=\s)>(?![a-z]) #xi",
        function ($matches) {
            return htmlentities($matches[0]);
        },
        $html
    );
    $html =  strip_tags($html);
    return htmlspecialchars_decode($html);
}

1

Miał ten sam problem co @Mat

On M1, 1.9.1.0 with all previous patches applied, I get numerous errors:

Moje zakończenia linii nie były ustawione na unix / macosx w repozytorium (inny programista korzystający z Win-dows).

używał dos2unix do konwersji niezbędnych plików i działał.

A jako @chaoticgeek mam:

Hunk #1 FAILED at 483. 1 out of 1 hunk FAILED -- saving rejects to file js/tiny_mce/plugins/media/js/media.js.rej

Do tej pory miało to miejsce we wszystkich transakcjach repo (6), 1.9.2.4, 1.9.3.8 x 2, 1.9.3.2 x 2 i 1.9.2.1.


Ten sam problem potwierdzono na EE 1.13.10
Laura

1

ten sam problem na Magento CE 1.8.1 ze wszystkimi zastosowanymi łatami:

sprawdzanie pliku app / Mage.php Hunk # 1 FAILED at 813. 1 z 1 hunk FAILED

jakaś pomoc / pomysł?


1

app / code / core / Mage / Adminhtml / controllers / System / ConfigController.php

zmień to na:

-> setGroupsSelector ($ groups) to -> setGroups ($ groups)


0

Na M1, 1.9.1.0 mam

Hunk #1 FAILED at 483 (different line endings).

Nawet kiedy biegnę

find . -type f -exec dos2unix {} \;

nic się nie zmienia.

Skąd mam wiedzieć, który to plik? 486 to linia ścieżki?


Mogłem znaleźć dowolne rozwiązanie, więc musiałem uruchomić ścieżkę w środowisku Win. Ponieważ łatanie działa tylko z plikami, nie ma potrzeby posiadania serwera WWW.
Hypo

0

Obecnie korzystam z wersji 1.9.3.1 i mam kilka konfliktów. Korzystam z trzeciej wersji łatki (patrz nazwa pliku):

EDYCJA: Po pewnym sprawdzeniu faktycznie brakuje niektórych poprzednich łatek. Zaktualizuje później.

PATCH_SUPEE-11155_CE_1.9.3.1_v3-2019-06-18-08-15-43.sh: 14: PATCH_SUPEE-11155_CE_1.9.3.1_v3-2019-06-18-08-15-43.sh: 127: not found
PATCH_SUPEE-11155_CE_1.9.3.1_v3-2019-06-18-08-15-43.sh: 14: PATCH_SUPEE-11155_CE_1.9.3.1_v3-2019-06-18-08-15-43.sh: 127: not found
PATCH_SUPEE-11155_CE_1.9.3.1_v3-2019-06-18-08-15-43.sh: 25: PATCH_SUPEE-11155_CE_1.9.3.1_v3-2019-06-18-08-15-43.sh: 0: not found
Checking if patch can be applied/reverted successfully...
-e ERROR: Patch can\'t be applied/reverted successfully.

checking file app/Mage.php
checking file app/code/core/Mage/Admin/Model/Block.php
checking file app/code/core/Mage/Admin/Model/User.php
Hunk #1 succeeded at 586 (offset -4 lines).
checking file app/code/core/Mage/AdminNotification/etc/system.xml
checking file app/code/core/Mage/Adminhtml/Block/Api/Role/Grid/User.php
checking file app/code/core/Mage/Adminhtml/Block/Catalog/Product/Edit/Tab/Super/Config.php
Hunk #1 FAILED at 155.
1 out of 1 hunk FAILED
checking file app/code/core/Mage/Adminhtml/Block/Newsletter/Queue/Preview.php
checking file app/code/core/Mage/Adminhtml/Block/Newsletter/Template/Preview.php
checking file app/code/core/Mage/Adminhtml/Block/Permissions/Role/Grid/User.php
checking file app/code/core/Mage/Adminhtml/Block/Sales/Creditmemo/Grid.php
checking file app/code/core/Mage/Adminhtml/Block/Sales/Invoice/Grid.php
checking file app/code/core/Mage/Adminhtml/Block/Sales/Order/Create/Header.php
checking file app/code/core/Mage/Adminhtml/Block/Sales/Order/Creditmemo/Create.php
checking file app/code/core/Mage/Adminhtml/Block/Sales/Order/Grid.php
checking file app/code/core/Mage/Adminhtml/Block/Sales/Order/Invoice/Create.php
checking file app/code/core/Mage/Adminhtml/Block/Sales/Order/Shipment/Create.php
checking file app/code/core/Mage/Adminhtml/Block/Sales/Order/View.php
checking file app/code/core/Mage/Adminhtml/Block/Sales/Shipment/Grid.php
checking file app/code/core/Mage/Adminhtml/Block/Sales/Transactions/Grid.php
checking file app/code/core/Mage/Adminhtml/Block/System/Email/Template/Preview.php
checking file app/code/core/Mage/Adminhtml/Block/Template.php
checking file app/code/core/Mage/Adminhtml/Block/Widget/Grid/Column/Renderer/Abstract.php
checking file app/code/core/Mage/Adminhtml/Model/LayoutUpdate/Validator.php
Hunk #1 FAILED at 180.
1 out of 1 hunk FAILED
1 out of 1 hunk FAILED
checking file app/code/core/Mage/Adminhtml/Model/System/Config/Backend/Baseurl.php
checking file app/code/core/Mage/Adminhtml/Model/System/Config/Backend/Locale.php
checking file app/code/core/Mage/Adminhtml/Model/System/Config/Backend/Serialized/Array.php
checking file app/code/core/Mage/Adminhtml/controllers/Catalog/Product/AttributeController.php
checking file app/code/core/Mage/Adminhtml/controllers/Catalog/Product/ReviewController.php
checking file app/code/core/Mage/Adminhtml/controllers/Catalog/ProductController.php
checking file app/code/core/Mage/Adminhtml/controllers/Checkout/AgreementController.php
checking file app/code/core/Mage/Adminhtml/controllers/Newsletter/TemplateController.php
checking file app/code/core/Mage/Adminhtml/controllers/Promo/CatalogController.php
checking file app/code/core/Mage/Adminhtml/controllers/Promo/QuoteController.php
checking file app/code/core/Mage/Adminhtml/controllers/Sales/Order/CreateController.php
checking file app/code/core/Mage/Adminhtml/controllers/SitemapController.php
checking file app/code/core/Mage/Adminhtml/controllers/System/Email/TemplateController.php
checking file app/code/core/Mage/Catalog/Helper/Product.php
checking file app/code/core/Mage/Catalog/controllers/Product/CompareController.php
checking file app/code/core/Mage/Checkout/Model/Session.php
checking file app/code/core/Mage/Checkout/controllers/OnepageController.php
Hunk #1 succeeded at 570 (offset 8 lines).
checking file app/code/core/Mage/Cms/Helper/Data.php
checking file app/code/core/Mage/Cms/Model/Wysiwyg/Config.php
checking file app/code/core/Mage/Cms/etc/config.xml
checking file app/code/core/Mage/Compiler/Model/Process.php
checking file app/code/core/Mage/Core/Helper/Abstract.php
checking file app/code/core/Mage/Core/Helper/Data.php
checking file app/code/core/Mage/Core/Model/Design/Package.php
checking file app/code/core/Mage/Core/Model/Email/Template/Filter.php
checking file app/code/core/Mage/Core/Model/File/Validator/AvailablePath.php
checking file app/code/core/Mage/Core/Model/Observer.php
checking file app/code/core/Mage/Core/etc/config.xml
checking file app/code/core/Mage/Core/functions.php
checking file app/code/core/Mage/CurrencySymbol/Model/System/Currencysymbol.php
checking file app/code/core/Mage/Downloadable/controllers/DownloadController.php
checking file app/code/core/Mage/SalesRule/Model/Coupon/Massgenerator.php
checking file app/code/core/Mage/SalesRule/Model/Resource/Report/Rule/Createdat.php
checking file app/code/core/Mage/Sendfriend/etc/config.xml
checking file app/code/core/Mage/Sendfriend/etc/system.xml
checking file app/design/adminhtml/default/default/template/catalog/product/composite/fieldset/configurable.phtml
checking file app/design/adminhtml/default/default/template/catalog/product/helper/gallery.phtml
Hunk #1 FAILED at 59.
1 out of 1 hunk FAILED
checking file app/design/adminhtml/default/default/template/catalog/product/tab/inventory.phtml
checking file app/design/adminhtml/default/default/template/currencysymbol/grid.phtml
checking file app/design/adminhtml/default/default/template/customer/tab/addresses.phtml
checking file app/design/adminhtml/default/default/template/customer/tab/view.phtml
checking file app/design/adminhtml/default/default/template/notification/window.phtml
checking file app/design/adminhtml/default/default/template/sales/order/create/data.phtml
checking file app/design/adminhtml/default/default/template/sales/order/view/info.phtml
Hunk #4 succeeded at 176 (offset 22 lines).
Hunk #5 succeeded at 189 with fuzz 1 (offset 22 lines).
checking file app/design/adminhtml/default/default/template/system/currency/rate/matrix.phtml
checking file app/locale/en_US/Mage_Adminhtml.csv
checking file app/locale/en_US/Mage_Core.csv
checking file app/locale/en_US/Mage_Sales.csv
checking file app/locale/en_US/Mage_Sitemap.csv
checking file js/mage/adminhtml/wysiwyg/tiny_mce/setup.js
checking file js/tiny_mce/plugins/media/js/media.js
checking file js/varien/js.js
checking file lib/phpseclib/PHP/Compat/Function/array_fill.php
checking file lib/phpseclib/PHP/Compat/Function/bcpowmod.php
checking file lib/phpseclib/PHP/Compat/Function/str_split.php

0

Obecnie mam do czynienia z tym problemem podczas aktualizacji z wersji 1.9.4.1 do 1.9.4.2. Dzięki temu tworzenie zamówień administratora i kasowanie interfejsu użytkownika skutkuje teraz 500 wewnętrznymi błędami serwera bez rejestrowania lub pokazywania błędów.


Wydaje się, że problem z kasą wpływa na sklepy php 7.1 i php 7.2 korzystające z bezpośredniego adresu Authorize.net. Czy widzisz błąd 500 w tym procesorze, Paypal lub innych? Obawiamy się również zabicia kasy w tej aktualizacji zabezpieczeń.
nowy

1
@themew Udało mi się naprawić błąd, zastępując moduł. Błąd dla mnie był / jest niezgodny kod z PHP 5.4
Vaishal Patel

0

po zastosowaniu poprawki Supee-11155 otrzymuję problem z zapisywaniem szablonów międzynarodowych wiadomości e-mail, a następnie się zmieniłem

app \ code \ core \ Mage \ Adminhtml \ kontrolers \ System \ Email \ TemplateController.php

$allowedHtmlTags = ['template_text', 'styles'];

do

$allowedHtmlTags = ['template_text', 'styles', 'variables'];

teraz działa dobrze.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.