Patch di sicurezza SUPEE-10266 - Possibili problemi?


36

È disponibile una nuova patch di sicurezza per Magento 1, che risolve 13 problemi di APPSEC

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

Quali problemi comuni devi fare attenzione quando applichi questa patch?

SUPEE-10266, Magento Commerce 1.14.3.6 e Open Source 1.9.3.6 contengono numerosi miglioramenti della sicurezza che aiutano a chiudere la contraffazione di richieste tra siti (CSRF), la perdita di dati non autorizzata e le vulnerabilità di esecuzione del codice remoto dell'utente Admin autenticato. Queste versioni includono anche correzioni per problemi relativi al ricaricamento delle immagini e ai pagamenti tramite il checkout in un solo passaggio.


Affrontare il problema quando si applica a 1.9.3.2 - magento.stackexchange.com/questions/193451/…
Shrenik,

Risposte:


13

Alcune delle informazioni importanti vengono condivise con qui. La maggior parte dei file dal backend Magento. Gli elenchi di file:

app/code/core/Mage/Admin/Model/Session.php
app/code/core/Mage/Adminhtml/Block/Notification/Grid/Renderer/Notice.php
app/code/core/Mage/Adminhtml/Block/Widget/Form/Container.php
app/code/core/Mage/Adminhtml/Controller/Action.php
app/code/core/Mage/Adminhtml/Model/LayoutUpdate/Validator.php
app/code/core/Mage/Adminhtml/controllers/CustomerController.php
app/code/core/Mage/Adminhtml/controllers/Newsletter/TemplateController.php
app/code/core/Mage/Checkout/controllers/CartController.php
app/code/core/Mage/Core/Model/Email/Template/Abstract.php
app/code/core/Mage/Core/Model/File/Validator/Image.php
app/code/core/Mage/Core/Model/Session/Abstract/Varien.php
app/code/core/Mage/Core/etc/config.xml
app/code/core/Mage/Rss/Helper/Data.php
app/code/core/Mage/Sales/Model/Resource/Order/Item/Collection.php
app/code/core/Zend/Serializer/Adapter/PhpCode.php
app/design/adminhtml/default/default/template/backup/dialogs.phtml
app/design/adminhtml/default/default/template/catalog/product/edit/options/type/file.phtml
app/design/adminhtml/default/default/template/customer/tab/view.phtml
app/design/adminhtml/default/default/template/login.phtml
app/design/adminhtml/default/default/template/notification/toolbar.phtml
app/design/adminhtml/default/default/template/oauth/authorize/form/login.phtml
app/design/adminhtml/default/default/template/resetforgottenpassword.phtml
app/design/adminhtml/default/default/template/sales/order/view/history.phtml
app/design/adminhtml/default/default/template/sales/order/view/info.phtml
app/design/install/default/default/template/install/create_admin.phtml
app/locale/en_US/Mage_Adminhtml.csv
downloader/template/login.phtml

L'importante è controllare questi tre file.

app/code/core/Mage/Checkout/controllers/CartController.php
app/code/core/Mage/Sales/Model/Resource/Order/Item/Collection.php
app/code/core/Mage/Core/Model/File/Validator/Image.php

app / code / core / Mage / Checkout / controller / CartController.php condizione aggiuntiva controlla ID cliente :

diff --git app/code/core/Mage/Checkout/controllers/CartController.php app/code/core/Mage/Checkout/controllers/CartController.php
index 7c9f28f..bee6034 100644
--- app/code/core/Mage/Checkout/controllers/CartController.php
+++ app/code/core/Mage/Checkout/controllers/CartController.php
@@ -284,14 +284,16 @@ class Mage_Checkout_CartController extends Mage_Core_Controller_Front_Action
     public function addgroupAction()
     {
         $orderItemIds = $this->getRequest()->getParam('order_items', array());
+        $customerId   = $this->_getCustomerSession()->getCustomerId();

-        if (!is_array($orderItemIds) || !$this->_validateFormKey()) {
+        if (!is_array($orderItemIds) || !$this->_validateFormKey() || !$customerId) {
             $this->_goBack();
             return;
         }

         $itemsCollection = Mage::getModel('sales/order_item')
             ->getCollection()
+            ->addFilterByCustomerId($customerId)
             ->addIdFilter($orderItemIds)
             ->load();
         /* @var $itemsCollection Mage_Sales_Model_Mysql4_Order_Item_Collection */
@@ -709,4 +711,14 @@ class Mage_Checkout_CartController extends Mage_Core_Controller_Front_Action
         $this->getResponse()->setHeader('Content-type', 'application/json');
         $this->getResponse()->setBody(Mage::helper('core')->jsonEncode($result));
     }
+
+    /**
+     * Get customer session model
+     *
+     * @return Mage_Customer_Model_Session
+     */
+    protected function _getCustomerSession()
+    {
+        return Mage::getSingleton('customer/session');
+    }
 }

app / code / core / Mage / Sales / Model / Resource / Order / Item / Collection.php aggiunto Metodo aggiuntivo addFilterByCustomerId nella raccolta.

diff --git app/code/core/Mage/Sales/Model/Resource/Order/Item/Collection.php app/code/core/Mage/Sales/Model/Resource/Order/Item/Collection.php
index ee83ad48..c02afdf 100644
--- app/code/core/Mage/Sales/Model/Resource/Order/Item/Collection.php
+++ app/code/core/Mage/Sales/Model/Resource/Order/Item/Collection.php
@@ -152,4 +152,20 @@ class Mage_Sales_Model_Resource_Order_Item_Collection extends Mage_Sales_Model_R
         $this->getSelect()->where($resultCondition);
         return $this;
     }
+
+    /**
+     * Filter by customerId
+     *
+     * @param int|array $customerId
+     * @return Mage_Sales_Model_Resource_Order_Item_Collection
+     */
+    public function addFilterByCustomerId($customerId)
+    {
+        $this->getSelect()->joinInner(
+            array('order' => $this->getTable('sales/order')),
+            'main_table.order_id = order.entity_id', array())
+            ->where('order.customer_id IN(?)', $customerId);
+
+        return $this;
+    }
 }

app / code / core / Mage / core / Modello / File / Validator / image.php

se 'general / reprocess_images / active' false, salta la rielaborazione dell'immagine. NOTA: se si disattiva il ritrattamento delle immagini, il processo di caricamento delle immagini potrebbe causare rischi per la sicurezza

diff --git app/code/core/Mage/Core/Model/File/Validator/Image.php app/code/core/Mage/Core/Model/File/Validator/Image.php
index 9d57202..6a939c3 100644
--- app/code/core/Mage/Core/Model/File/Validator/Image.php
+++ app/code/core/Mage/Core/Model/File/Validator/Image.php
@@ -91,6 +91,13 @@ class Mage_Core_Model_File_Validator_Image
         list($imageWidth, $imageHeight, $fileType) = getimagesize($filePath);
         if ($fileType) {
             if ($this->isImageType($fileType)) {
+                /**
+                 * if 'general/reprocess_images/active' false then skip image reprocessing.
+                 * NOTE: If you turn off images reprocessing, then your upload images process may cause security risks.
+                 */
+                if (!Mage::getStoreConfigFlag('general/reprocess_images/active')) {
+                    return null;
+                }
                 //replace tmp image with re-sampled copy to exclude images with malicious data
                 $image = imagecreatefromstring(file_get_contents($filePath));
                 if ($image !== false) {

Spero che sia utile. credo


Potresti specificare in che misura dovremmo controllare i possibili problemi di CartController.php e Collection.php. Dove cercare esattamente eventuali anomalie sul sito Web?
Icona

Ho aggiornato i siti della patch di sicurezza 3, tutti e tre i siti hanno la precedenza su questi due file. Controlla attentamente e aggiorna questi due file. Non si verificano eventi Gitch in tutti e 3 i siti
Rama Chandran,

10

EE 1.14.2.4

Errore di battitura sulla riga 726 della patch: autocomplete="new-pawwsord" ( app/design/adminhtml/default/default/template/backup/dialogs.phtml)

La patch sembra mancare 2 file frontend:

Rattoppato:

app\design\adminhtml\default\default\template\oauth\authorize\form\login-simple.phtml

Non patchato:

app\design\frontend\base\default\template\oauth\authorize\form\login-simple.phtml app\design\frontend\rwd\default\template\oauth\authorize\form\login-simple.phtml


Inoltre, non dimenticare di verificare le sostituzioni locali ... Ho dovuto patchare manualmente una sostituzione locale del codepool di app\design\adminhtml\default\default\template\sales\order\view\info.phtml


Vedere quasiobject 's risposta per un problema di cassa onepage. Biglietto di supporto aziendale creato, in attesa di risposta da Magento. Se non si desidera attendere una patch aggiornata, una possibile soluzione consiste nel modificare la dichiarazione "else" in modo app\design\frontend\enterprise\default\template\giftcardaccount\onepage\payment\scripts.phtmlda includere l'elemento form_key in questo modo:
if (($('p_method_' + methodName) && $('p_method_' + methodName).checked) || elements[i].name == 'form_key') { ...


CE 1.9.2.4

Errore di battitura sulla riga 694 della patch: autocomplete="new-pawwsord" (app/design/adminhtml/default/default/template/backup/dialogs.phtml )

L'estensione TrueOrderEdit deve essere patchata ... cambia echo $_groupNamein echo $this->escapeHtml($_groupName)nei seguenti file:

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


Infine, questo file modello principale dovrebbe probabilmente essere patchato con lo stesso aggiornamento $ _groupName:

app\design\adminhtml\default\default\template\sales\order\view\edit.phtml


Tutte le versioni 1.X.

Se hai eliminato la /downloadercartella (o /downloader/template) dal tuo codebase, potresti dover modificare manualmente il file patch .sh e rimuovere l'ultima sezione, iniziando condiff --git downloader/template/login.phtml downloader/template/login.phtml

Per quanto riguarda l' errore della chiave segreta non valida , vedere la mia risposta qui: Magento 1.9 Chiave segreta non valida. Si prega di aggiornare la pagina


Ho anche trovato l'errore di battitura per la patch 1.7.0.2. autocomplete = "new-pawwsord". In ogni caso influisce sul funzionamento del codice? Se è così, forse la versione 2 della patch è in arrivo?
Icona

Essenzialmente, il refuso è nel codice responsabile del trucco FireFox. "Questo è un campo nascosto fittizio per ingannare Firefox dalla compilazione automatica della password" ... sembra niente di grave.
Icona

@kmdsax Ho ricevuto una patch dal supporto per risolvere il problema. Aggiornato la mia risposta con i dettagli.
quasiobject,

potresti aiutarmi a risolvere il mio errore magento.stackexchange.com/q/204446/57334
zus

9

A MageHost.pro abbiamo riscontrato un problema nella patch per Magento 1.9.1.1, file di patchPATCH_SUPEE-10266_CE_1.9.1.1_v1-2017-09-15-04-59-56.sh

Errore:

checking file app/code/core/Mage/Core/Model/File/Validator/Image.php
Hunk #1 FAILED at 90.
1 out of 1 hunk FAILED

L'ho risolto sostituendo le linee 454-472 con 454-471 da PATCH_SUPEE-10266_CE_1.9.1.0_v1-2017-09-13-06-34-33.sh

Vecchio codice, linea 454-472:

diff --git app/code/core/Mage/Core/Model/File/Validator/Image.php app/code/core/Mage/Core/Model/File/Validator/Image.php
index 7f7b9d0..8a28da2 100644
--- app/code/core/Mage/Core/Model/File/Validator/Image.php
+++ app/code/core/Mage/Core/Model/File/Validator/Image.php
@@ -90,7 +90,13 @@ class Mage_Core_Model_File_Validator_Image
         $fileInfo = getimagesize($filePath);
         if (is_array($fileInfo) and isset($fileInfo[2])) {
             if ($this->isImageType($fileInfo[2])) {
-                return null;
+                /**
+                 * if 'general/reprocess_images/active' false then skip image reprocessing.
+                 * NOTE: If you turn off images reprocessing, then your upload images process may cause security risks.
+                 */
+                if (!Mage::getStoreConfigFlag('general/reprocess_images/active')) {
+                    return null;
+                }
             }
         }
         throw Mage::exception('Mage_Core', Mage::helper('core')->__('Invalid MIME type.'));

Nuovo codice, righe 454-471:

diff --git app/code/core/Mage/Core/Model/File/Validator/Image.php app/code/core/Mage/Core/Model/File/Validator/Image.php
index 8618bca..d3aba19 100644
--- app/code/core/Mage/Core/Model/File/Validator/Image.php
+++ app/code/core/Mage/Core/Model/File/Validator/Image.php
@@ -90,6 +90,13 @@ class Mage_Core_Model_File_Validator_Image
         list($imageWidth, $imageHeight, $fileType) = getimagesize($filePath);
         if ($fileType) {
             if ($this->isImageType($fileType)) {
+                /**
+                 * if 'general/reprocess_images/active' false then skip image reprocessing.
+                 * NOTE: If you turn off images reprocessing, then your upload images process may cause security risks.
+                 */
+                if (!Mage::getStoreConfigFlag('general/reprocess_images/active')) {
+                    return null;
+                }
                 //replace tmp image with re-sampled copy to exclude images with malicious data
                 $image = imagecreatefromstring(file_get_contents($filePath));
                 if ($image !== false) {

Hai guardato in altre versioni? Se sì, è presente lo stesso problema?
Icona

1
@Icon Abbiamo testato ce-1.6.0.0 ce-1.6.1.0 ce-1.6.2.0 ce-1.7.0.0 ce-1.7.0.1 ce-1.7.0.2 ce-1.8.0.0 ce-1.8.1.0 ce-1.9.0.0 ce -1.9.0.1 ce-1.9.1.0 ce-1.9.1.1 ce-1.9.2.0 ce-1.9.2.1 ce-1.9.2.2 ce-1.9.2.3 ce-1.9.2.4 ce-1.9.3.0 ce-1.9.3.1 ce -1.9.3.2 ce-1.9.3.3 ce-1.9.3.4. Tutte le versioni avevano tutte le patch precedenti installate. L'unico con un errore di patch era ce-1.9.1.1.
Jeroen Vermeulen - MageHost,

6

Solo 1 chiave del modulo sembra essere stata aggiunta in questa patch.

diff --git app/code/core/Mage/Adminhtml/Block/Widget/Form/Container.php app/code/core/Mage/Adminhtml/Block/Widget/Form/Container.php
index 8756f3f..1c5cf37 100644
--- app/code/core/Mage/Adminhtml/Block/Widget/Form/Container.php
+++ app/code/core/Mage/Adminhtml/Block/Widget/Form/Container.php
@@ -96,7 +96,10 @@ class Mage_Adminhtml_Block_Widget_Form_Container extends Mage_Adminhtml_Block_Wi

     public function getDeleteUrl()
     {
-        return $this->getUrl('*/*/delete', array($this->_objectId => $this->getRequest()->getParam($this->_objectId)));
+        return $this->getUrl('*/*/delete', array(
+            $this->_objectId => $this->getRequest()->getParam($this->_objectId),
+            Mage_Core_Model_Url::FORM_KEY => $this->getFormKey()
+        ));
     }

Pertanto, se si riscontrano difficoltà nell'eliminare un widget dal pannello di amministrazione, assicurarsi che l'URL di eliminazione venga generato dal blocco e che non vi siano sostituzioni di questo blocco.


come posso risolvere questo magento.stackexchange.com/q/204446/57334 ?
zus

5

Impossibile effettuare il checkout su EE 1.11+

Nel app/design/frontend/enterprise/default/template/giftcardaccount/onepage/payment/scripts.phtmlmodulo il codice di convalida della chiave è stato rimosso e interrompe l'intero pagamento, maggiori informazioni qui: https://magento.stackexchange.com/a/193442/2380

Soluzione alternativa per ora (poiché verrà rilasciato un V2 per EE 1.11+ per risolvere il problema): eseguire il rollback del file modello per entrambi enterprise/defaulterwd/entreprise temi.

Differenze tra patch e versione

EDIT: 1.9.3.6 è stato rilasciato quindi questa informazione non è più pertinente

Uno dei problemi principali che è stato sollevato per ora è che nella patch 1.9.3.5 mancano 3 patch di sicurezza. Pertanto raccomando vivamente solo il patching e non l'aggiornamento a 1.9.3.5


Hai ulteriori informazioni al riguardo, come ad esempio un file senza patch in 1.9.3.5?
Luke Rodgers,

È ancora in corso per CE / Open Source? Per EE / Commerce non è disponibile il download 1.14.3.5, solo 1.14.3.6.
7

Nella pagina di download di CE / Open Source c'è anche solo 1.9.3.6 (dal 14 settembre dice) e non più
1.9.3.5

4
1.9.3.6 è stato rilasciato ieri, questa informazione non è più pertinente.
Ryan Hoerr,

5

Sto ancora cercando di determinare se questo è unico nel nostro negozio, a causa di modelli personalizzati. Tuttavia, è rotto con la patch applicata e non rotto quando si ripristina. Volevo postare nel caso in cui altri possano segnalare lo stesso.

In EE 1.14.2.0, non siamo in grado di superare la fase Informazioni di pagamento del checkout con la patch applicata. Siamo aggiornati con SUPEE-9767 v2 prima di applicare la nuova patch.

Il nostro problema sembra derivare dalla loro rimozione || elements[i].name == 'form_key'da:

app/design/frontend/enterprise/default/template/giftcardaccount/onepage/payment/scripts.phtml

Viene rimosso dal enablePaymentMethodsciclo. Ciò sembra lasciare l'input form_key nascosto del modulo disabilitato e quindi non passato al controller quando inviato.

<input name="form_key" type="hidden" value="X" disabled="">

Quindi, $this->_validateFormKey()non riesce e il controller non restituisce nulla.


Aggiornamento 1 (18/09/2017) : ho inviato un ticket all'assistenza Magento e mi è stato detto che "[non era stato ancora segnalato da alcun commerciante". Invece di inviare backup, ho provato a duplicare su un'installazione pulita di 1.14.2.4 e 1.14.3.4 con le patch applicabili applicate. Sono stato in grado di duplicare e ho risposto al biglietto. In attesa di una nuova risposta.

Nota: Sistema> Configurazione> Ammin.> Sicurezza> Abilita convalida chiave modulo al momento del pagamento deve essere "Sì". Se "No", non vedrai il problema.


Aggiornamento 2 (2017-09-18) : ho notato che non sono riuscito a duplicare il problema con 1.14.3.6, ma quando ho controllato il file modello sopra, || elements[i].name == 'form_key'è ancora lì. Sembra che le patch non avrebbero dovuto rimuoverlo. Anche queste informazioni sono state inviate al supporto Magento.


Aggiornamento 3 (20/09/2017): ho appena ricevuto una patch per risolvere il problema per 1.14.0.0–1.14.3.4, che ripristina la form_keylinea sul modello. Chiedi supporto per SUPEE-10348.


Stesso problema qui il 1.14.2.4
kmdsax,

Grazie @kmdsax. Ho anche inviato un biglietto e in attesa di ottenere una conferma dal supporto.
quasiobject,

Hai provato a replicare lo stesso errore nella versione 1.9.2.4 CE?
Icona

1
@Icon non l'ho fatto. Lavoro per un solo commerciante e siamo EE. Tuttavia, non credo che ne risentirebbe poiché si tratta di un blocco di script di carte regalo EE. Ciò non dovrebbe esistere nella CE.
quasiobject,

4

Quando vai su Magento Connect e dopo fai clic su "Torna all'amministratore" nell'angolo in alto a destra della pagina. Al ritorno al pannello di amministrazione, viene visualizzato un messaggio di errore

messaggio di errore rosso : "Chiave segreta non valida. Aggiorna la pagina."

Dopo aver aggiornato la pagina, non c'è più.


Aggiornato: 15 settembre 2017

Se accedi all'amministratore di Magento, diciamo Dashboard. Senza disconnettersi dal pannello Dashboard, si va ad aprire un'altra finestra del browser nello stesso browser e andare a example.com/admin, si accederà automaticamente e mostrerà esattamente lo stesso messaggio

messaggio di errore rosso : "Chiave segreta non valida. Aggiorna la pagina."

Finora è l'unico problema che ho riscontrato. Non sono nemmeno sicuro che sia un problema solido poiché il messaggio scompare dopo l'aggiornamento.


Forse questo viene dalla chiusura di Magento Connect: magento.com/blog/magento-news/…
Kevin Krieger,

1
@KalvinKlien Sono anche in 1.7.0.2. Vedo questo messaggio ogni volta che vado avanti e indietro tra admin e Magneto Connect (/ downloader). Sto solo cercando di scoprire se anche gli altri lo vedono ... Non sembra un grosso problema.
Icona

3
Lo vedo anche in 1.9.2.1. Qualcuno ha già presentato una segnalazione di bug nel localizzatore di bug di Magento .
Michael Thessel,

1
È un errore in Mage_Adminhtml_Controller_Action :: preDispatch (): if ($_keyErrorMsg != '') { Mage::getSingleton('adminhtml/session')->addError($_keyErrorMsg); };dovrebbe essereif (!$_isValidFormKey){ Mage::getSingleton('adminhtml/session')->addError($_keyErrorMsg); };
Laura,

1
hmmmm, questa è una soluzione parziale finora. Di tanto in tanto vedo ancora l'errore, non sono sicuro che ci sia un altro controller che ha questo problema
Kalvin Klien

4

Ho chiesto al supporto Magento il seguente problema

app/design/frontend/enterprise/default/template/giftcardaccount/onepage/payment/scripts.phtml

Mi hanno risposto stamattina e hanno rilasciato una nuova patch PATCH_SUPEE-10348 .

Magento ha appena risolto il problema facendo un ripristino in questo file.

Indice: app / design / frontend / enterprise / default / template / giftcardaccount / onepage / payment / scripts.phtml
================================================== =================
--- app / design / frontend / enterprise / default / template / giftcardaccount / onepage / payment / scripts.phtml
+++ app / design / frontend / enterprise / default / template / giftcardaccount / onepage / payment / scripts.phtml
@@ -35,6 +35,7 @@
             if (elements [i] .name == 'payment [method]'
                 || elements [i] .name == 'payment [use_customer_balance]'
                 || elements [i] .name == 'payment [use_reward_points]'
+ || elements [i] .name == 'form_key'
             ) {
                 methodName = elements [i] .value;
                 if ((free && methodName == 'free') || (! free && methodName! = 'free')) {

1
Può confermare che questa patch è disponibile nel portale partner.
Luke Rodgers,

Grazie per l'informazione. Mi ero dimenticato di dare quelle informazioni
Cghisi,

3

Ho riscontrato un problema con i modelli di e-mail, CSS personalizzati e modman. Se ad esempio hai un tema basato su rwd/default, hai una personalizzazione skin/frontend/package/theme/css/email-inline.csse i tuoi file skin sono inclusi tramite modman tramite un collegamento simbolico, il CSS non verrà aggiunto al modello di posta dopo aver applicato SUPEE-10266. Il problema è che in Mage_Core_Model_Email_Template_Abstract::_getCssFileContent, alcuni controlli sono stati introdotti .:

                 '_theme' => $theme,
             )
         );
+        $filePath = realpath($filePath);
+        $positionSkinDirectory = strpos($filePath, Mage::getBaseDir('skin'));
+        $validator = new Zend_Validate_File_Extension('css');

-        if (is_readable($filePath)) {
+        if ($validator->isValid($filePath) && $positionSkinDirectory !== false && is_readable($filePath)) {
             return (string) file_get_contents($filePath);
         }

L'ho risolto con un trucco sporco con una app/code/local/Mage/Core/Model/Email/Template/Abstract.phpsostituzione per il momento. Ho dovuto indebolire il controllo, in modo che sia possibile caricare il file CSS dalla directory modman:

$filePath = realpath($filePath);
$baseDirectory = Mage::getBaseDir();
$fullSkinDirectory = Mage::getBaseDir('skin');
$relativeSkinDirectory = substr($fullSkinDirectory, strlen($baseDirectory));
$positionSkinDirectory = strpos($filePath, $relativeSkinDirectory);
$validator = new Zend_Validate_File_Extension('css');
$noDirectoryTraversal = strpos($filename, '..') === false;

if ($validator->isValid($filePath) && $positionSkinDirectory !== false && $noDirectoryTraversal
    && is_readable($filePath)) {
    return (string) file_get_contents($filePath);
}

Non verificherà più se il percorso include la directory completa della skin, ma controllerà solo se il percorso contiene la stringa /skine se non include .., il che dovrebbe impedire attacchi di attraversamento di directory.


1
Ho eliminato la mia risposta poiché la tua è più completa. L'hack che ho usato è stato quello di controllare if (strpos($filename, '..') === false) { $positionSkinDirectory = 1; }la riga dopo che $positionSkinDirectoryè stato originariamente impostato. Questo dovrebbe aiutare a evitare l'attraversamento delle directory.
Peter O'Callaghan,

Voglio notare che indebolire in questo caso significa renderlo nuovamente vulnerabile e che l'utilizzo di questa soluzione è un rischio diretto per la sicurezza
Flyingmana,

@ PeterO'Callaghan buona idea! Ho appena aggiunto il tuo assegno al mio codice di risposta.
Simone,

@Flyingmana questo dovrebbe ridurre drasticamente il rischio.
Simone,

2

Ecco l'elenco completo delle patch interessate autocomplete="new-pawwsord"dall'errore di battitura:

CE 1.7.0.0-1.7.0.2      PATCH_SUPEE-10266_CE_1.7.0.2_v1-2017-09-13-06-27-12.sh:664
CE 1.8.0.0-1.8.1.0      PATCH_SUPEE-10266_CE_1.8.1.0_v1-2017-09-13-06-28-08.sh:665
CE 1.9.0.0-1.9.0.1      PATCH_SUPEE-10266_CE_1.9.0.1_v1-2017-09-13-06-31-01.sh:665
CE 1.9.1.0              PATCH_SUPEE-10266_CE_1.9.1.0_v1-2017-09-13-06-34-33.sh:733
CE 1.9.1.1              PATCH_SUPEE-10266_CE_1.9.1.1_v1-2017-09-15-04-59-56.sh:734
CE 1.9.2.0-1.9.2.4      PATCH_SUPEE-10266_CE_1.9.2.4_v1-2017-09-13-06-37-37.sh:694
CE 1.9.3.0-1.9.3.2      PATCH_SUPEE-10266_CE_1.9.3.2_v1-2017-09-13-06-38-58.sh:694
CE 1.9.3.3-1.9.3.4      PATCH_SUPEE-10266_CE_1.9.3.4_v1-2017-09-13-06-39-58.sh:694
EE 1.12.0.0             PATCH_SUPEE-10266_EE_1.12.0.0_v1-2017-09-13-08-09-14.sh:696
EE 1.12.0.1-1.12.0.2    PATCH_SUPEE-10266_EE_1.12.0.2_v1-2017-09-13-08-06-57.sh:696
EE 1.13.0.0-1.13.1.0    PATCH_SUPEE-10266_EE_1.13.1.0_v1-2017-09-13-08-04-05.sh:696
EE 1.14.0.0-1.14.0.1    PATCH_SUPEE-10266_EE_1.14.0.1_v1-2017-09-13-08-01-04.sh:696
EE 1.14.1.0             PATCH_SUPEE-10266_EE_1.14.1.0_v1-2017-09-13-07-57-59.sh:764
EE 1.14.2.0             PATCH_SUPEE-10266_EE_1.14.2.0_v1-2017-09-13-07-07-14.sh:764
EE 1.14.2.1-1.14.2.4    PATCH_SUPEE-10266_EE_1.14.2.4_v1-2017-09-13-06-57-21.sh:726
EE 1.14.3.0-1.14.3.2    PATCH_SUPEE-10266_EE_1.14.3.2_v1-2017-09-13-06-53-35.sh:716
EE 1.14.3.3-1.14.3.4    PATCH_SUPEE-10266_EE_1.14.3.3_v1-2017-09-13-06-51-06.sh:716

0

Su Magento 1.8.1 ho riscontrato problemi con i seguenti file:

app/code/core/Mage/Core/Model/File/Validator/Image.php
app/code/core/Mage/Core/etc/config.xml
app/locale/en_US/Mage_Adminhtml.csv

Ho finito con il download dell'ultima versione di Magento che NON contiene la patch. In questo caso Magento 1.9.3.4 .

La sostituzione dei file "danneggiati" con quella del download ha risolto il problema. Sono stato in grado di applicare la patch con successo.

Ma fai attenzione: suggerisco di ripristinare i 3 file dopo averli rattoppati di nuovo e di modificarli manualmente.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.