Security Patch SUPEE-7405 - ปัญหาที่อาจเกิดขึ้น?


140

ถึงเวลาแล้วสำหรับการแก้ไขเพิ่มเติมอีก SUPEE-7405 สำหรับ Magento 1.x หมดไปแล้วและรายการการแก้ไขมีความยาว: https://magento.com/security/patches/supee-7405

หลังจากประสบการณ์กับแพตช์ล่าสุดฉันต้องถามอีกครั้ง: อะไรคือปัญหาที่เป็นไปได้เมื่อใช้แพทช์และฉันต้องพิจารณาอะไร?

ปัญหา XSS จำนวนมากได้รับการแก้ไขอีกครั้งดังนั้นฉันจึงคาดว่าจะแก้ไขธีมที่กำหนดเองด้วยตนเอง มีอะไรอีกไหม มีการเปลี่ยนแปลงที่เข้ากันไม่ได้ย้อนหลังหรือไม่?


2
GG ไม่สามารถเอาชนะ patch ได้อีก
Bobadevv

6
ปัญหาหนึ่งที่เราพบเจอในวันนี้เมื่อทำการปะแก้เวอร์ชั่นของเรา (EE 1.14.0.1. ... ) SUPEE-7405 ทำให้หน้าจอรายละเอียดคำสั่งผู้ดูแลระบบของเราว่างเปล่า / แตก คิวการสั่งซื้อสามารถมองเห็นได้ แต่การคลิกที่คำสั่งซื้อใด ๆ จะส่งคืนหน้ารายละเอียดคำสั่งซื้อที่เสียหาย เราไม่ได้ค้นพบสิ่งนี้จนกว่าเราจะนำไปผลิต - รอการตอบรับจากฝ่ายสนับสนุนของ Magento
Moonman67

6
และเพิ่งค้นพบ SOAP API URL ของเรา (/index.php/api/v2_soap/index/?wsdl=1) ตอนนี้มีข้อผิดพลาด 500 ข้อ หากคุณอาศัยสบู่เหมือนที่ผมทำ ... อย่าติดตั้งโปรแกรมปรับปรุงจนกว่านี้จะแก้ไขปัญหา
Moonman67

4
ไฟล์ที่อัปโหลดผ่านแผงควบคุม (เช่นการอัปโหลดรูปภาพผลิตภัณฑ์) จะไม่สามารถอ่านได้ทั่วโลกตามค่าเริ่มต้น (0640) ไดเรคทอรี่ยังไม่สามารถเรียกใช้งานได้ในโลก (0750) สิ่งนี้อาจทำให้เกิดปัญหากับภาพที่ไม่ปรากฏบนเว็บไซต์หากเว็บเซิร์ฟเวอร์ทำงานเป็นผู้ใช้อื่นจาก php (เช่น php-fpm ในฐานะผู้ใช้เว็บเซิร์ฟเวอร์โดยไม่มีใครใช้ไฟล์คงที่)
Rob Mangiafico

3
- แพทช์ก่อนหน้านี้ทั้งหมดจะต้องมีการใช้งาน (และถ้าคุณยังไม่ได้สมัครโดยเฉพาะ Shoplift คุณสามารถสันนิษฐานได้ว่าร้านค้าของคุณถูกแฮ็คแล้ว - ตรวจสอบผู้ดูแลระบบที่ไม่รู้จักรหัสแปลก ๆ ฯลฯ ) - หน้าคำสั่ง - รหัสใช้คำสั่ง PHP 5.4
Piotr Kaminski

คำตอบ:


156

23 กุมภาพันธ์ 2559 อัปเดต : แพตช์ได้รับการอัปเดตเป็น V1.1 ซึ่งแก้ไขปัญหาสำคัญหลายอย่างที่ระบุไว้ในโพสต์นี้นี่คือรายการ:

  • Patch Merge Patch (SUPEE-7978) : รถเข็นที่มีสินค้าเหมือนกันตอนนี้ผสานอย่างถูกต้อง ก่อนหน้านี้เมื่อมีการรวมรถเข็นที่มีหนึ่งรายการกับรถเข็นอื่นที่มีสินค้าเดียวกัน Magento จึงไม่รวมผลรวมของรถเข็นอย่างถูกต้อง รถเข็นตอนนี้มีเพียงหนึ่งรายการและผลรวมถูกต้อง
  • SOAP API Patch (SUPEE-7822) : Magento SOAP API ทำงานได้อย่างที่คาดไว้ ก่อนหน้านี้หลังจากติดตั้งแพตช์ SUPEE-7405 v1.0 คำขอ API จะทำให้เกิดข้อผิดพลาด 500 และ Magento จะบันทึกข้อยกเว้น
  • ความเข้ากันได้ของ PHP 5.3 (SUPEE-7882) : แพทช์ไม่สามารถใช้งานร่วมกับ PHP 5.3 สำหรับ Magento รุ่นก่อนหน้าซึ่งยังคงรองรับเวอร์ชันนี้อยู่ ผู้ค้าที่ประสบปัญหานี้ไม่สามารถดูข้อมูลการขายในผู้ดูแลระบบ
  • อัปโหลดไฟล์อนุญาต : แพทช์เรียกคืนสิทธิ์ในการ จำกัด ไฟล์น้อยลง (0666 สำหรับไฟล์และ 0777 สำหรับไดเรกทอรี) เนื่องจากสิทธิ์ที่เข้มงวดมากขึ้นของแพตช์ SUPEE-7405 ดั้งเดิมทำให้ผู้ค้าหลายรายไม่สามารถดูภาพผลิตภัณฑ์ที่อัพโหลดได้ .

หลังจากขุดลงไปในแพทช์นี่คือสิ่งที่เกี่ยวข้อง / น่าสนใจที่ฉันได้พบ (NB: รายการนี้ทำโดยการวิเคราะห์แพตช์สำหรับ CE 1.9.2.0-1.9.2.2 อาจมีมากกว่าสำหรับแพทช์ที่มีผลต่อ Magento รุ่นเก่ากว่า) :

  • (แก้ไขใน V1.1 ของแพทช์) การใช้[]แทนarray()ในแพทช์นี้ทำให้ย้อนหลังไม่เข้ากันกับ PHP <5.4 (ดูปัญหาที่ทราบด้านล่าง)
  • ตามที่ระบุการเปลี่ยนแปลงส่วนใหญ่เป็นการหลบหนี html และการทำให้ข้อมูลถูกสุขลักษณะเกี่ยวกับปัญหา XSS
  • เพิ่มการตรวจสอบความถูกต้องของแบบฟอร์มในการเข้าสู่ระบบของผู้ดูแลระบบMage_Admin_Model_Observer
  • การตรวจสอบความถูกต้องของแบบฟอร์มถูกเพิ่มไปยังผู้ดูแลระบบลืมรหัสผ่านในMage_Adminhtml_IndexController
  • การตรวจสอบความถูกต้องของแบบฟอร์มถูกเพิ่มในรหัสผ่านรีเซ็ตของผู้ดูแลระบบในMage_Adminhtml_IndexController
  • การตรวจสอบที่สำคัญในแบบฟอร์มที่ได้รับการเพิ่มรถเข็นหน้าลบการกระทำ ที่สำคัญในแบบฟอร์มจะถูกเพิ่มในgetDeleteUrlของMage_Checkout_Block_Cart_Item_RendererและตรวจสอบในของdeleteActionMage_Checkout_CartController
  • ตอนนี้เหตุการณ์จะถูกส่งเป็นตัวพิมพ์เล็กทั้งหมด (ทุกไฟล์การกำหนดค่าที่ได้รับผลกระทบได้รับการแก้ไขเช่นcontroller_action_postdispatch_checkout_onepage_saveOrderจะกลายเป็นcontroller_action_postdispatch_checkout_onepage_saveorder) นี้ไม่ได้ส่งผลกระทบต่อการกำหนดค่าสังเกตการณ์ในพื้นที่ของคุณ ข้อมูลเพิ่มเติมที่นี่: https://twitter.com/foomanNZ/status/689924329065164800
  • เครื่องมือตรวจสอบความถูกต้องใหม่เพื่อตรวจสอบว่ามีการเพิ่มไฟล์ที่อัพโหลดเป็นรูปภาพหรือไม่ :Mage_Core_Model_File_Validator_Image
  • ส่วนการนำเข้า / ส่งออกใหม่จะปรากฏขึ้น:System => Configuration =>Advanced > System => Escape CSV Fields
  • มีการส่งกิจกรรมใหม่:admin_user_validateภายใต้Mage_Admin_Model_User
  • SVG ไม่ใช่ส่วนขยาย favicon ที่ถูกต้องอีกต่อไป
  • สำหรับผู้ที่ใช้Authorizenet (ฉันไม่) ดูเหมือนว่ามีการเปลี่ยนแปลงบางอย่าง แต่ไม่แน่ใจว่ามันส่งผลกระทบต่อระบบอย่างไร การเปลี่ยนแปลงรวมถึงผู้ช่วยผู้ดูแลระบบใหม่ ( Mage_Authorizenet_Helper_Admin) ที่ใช้เพื่อรับ URL คำสั่งซื้อที่ประสบความสำเร็จ
  • ระดับ Zend Zend_Xml_Securityใหม่: วัตถุประสงค์คือเพื่อสแกนสตริง XML สำหรับการโจมตี XXE และ XEE ​​ที่อาจเกิดขึ้น อย่างไรก็ตามฉันไม่พบการอ้างอิงในไฟล์ที่แก้ไขอื่น ๆ
  • ไฟล์ที่อัปโหลดผ่านแผงควบคุม (เช่นการอัปโหลดรูปภาพผลิตภัณฑ์) จะไม่สามารถอ่านได้ทั่วโลกตามค่าเริ่มต้น (ก่อน: 777 / หลัง: 640)
  • ไดเรกทอรียังไม่สามารถใช้งานได้ทั่วโลก (ก่อนหน้า 755 / หลัง: 750) ทั้งสองนี้อาจทำให้เกิดปัญหากับภาพที่ไม่ปรากฏบนเว็บไซต์หากเว็บเซิร์ฟเวอร์ทำงานเป็นผู้ใช้ที่แตกต่างจาก php (เครดิต: @Rob Mangiafico)
  • เกี่ยวกับเทมเพลตส่วนหน้า : การแก้ไขที่ทำเพียงอย่างเดียวคือการหลีกเลี่ยงข้อมูลซึ่งไม่ใช่ตัวแบ่งระบบ แต่ยังแนะนำให้ใช้กับธีมที่คุณกำหนดเอง (และมีไฟล์ส่วนหน้าเพียงสองไฟล์ที่ไม่ได้ผลมากนัก)

ปัญหาที่พบหลังจากการปะแก้:

ฉันจะพยายามเก็บรายการนี้ให้ทันสมัยที่สุดเท่าที่จะทำได้

ก่อนเริ่มต้นปัญหา / คำถามใหม่โปรดตรวจสอบให้แน่ใจว่าคุณได้ใช้โปรแกรมแก้ไขก่อนหน้านี้ทั้งหมดเนื่องจากดูเหมือนว่าปัญหามากมายมาจากโปรแกรมแก้ไขที่ขาดหายไป

อีกสิ่งหนึ่งคือ: หากคุณแก้ไขไฟล์แกนการใช้โปรแกรมปะแก้อาจล้มเหลว หากคุณมีHunk # failed atข้อผิดพลาดสำหรับไฟล์ใดไฟล์หนึ่งและคุณมั่นใจ 100% ว่าคุณได้ใช้แพตช์ก่อนหน้านี้ทั้งหมดแล้วโปรดตรวจสอบให้แน่ใจว่าคุณมีไฟล์ต้นฉบับจากเวอร์ชัน Magento ของคุณโดยตรวจสอบมิเรอร์: https://github.com / OpenMage / วีโอไอพีกระจก /

รายการไฟล์ที่ได้รับผลกระทบ

สามารถพบได้ในหน้านี้ที่นี่: https://magento.stackexchange.com/a/98232/2380 (เครดิต @MagenX)

EE เท่านั้น

  • หากคุณอัปเดตจากวีโอไอพี EE 1.14.2.x ไปวีโอไอพีEE 1.14.2.3แทนการใช้แพทช์และยังใช้การสนับสนุนแพทช์สุภี-5984ก่อนที่คุณจะต้องนำไปใช้ใหม่ได้อีกครั้งเพราะมันจะไม่รวมอยู่ในการปล่อย => https://magento.stackexchange.com/a/98805/2380

เกี่ยวกับ Patch 7616:

แหล่งข้อมูลที่ดีเกี่ยวกับ Magento patches

อย่าลังเลที่จะแจ้งให้เราทราบหากฉันพลาดบางสิ่ง


1
คุณได้พูดถึงปัญหาของฉัน "ปัญหาที่เป็นไปได้เมื่อใช้ 7616 ก่อนใช้ 7405: SUPEE 7405 - ก้อนใหญ่ # 2 ล้มเหลวที่ 43" เป็นปัญหา EE เมื่อฉันใช้ CE จริง ๆ
Liam McArthur

1
คุณพูดถูกฉันไม่ดีฉันแก้ไขมันแล้ว
Raphael ที่ Digital Pianism

1
ตอนนี้กิจกรรมถูกส่งเป็นตัวพิมพ์เล็กทั้งหมด : หมายความว่าเราต้องตรวจสอบ / เปลี่ยนการกำหนดค่าผู้สังเกตการณ์ในพื้นที่หรือไม่?
hellimac

1
@hellimac ฉันกำลังจะทดสอบสิ่งนี้ในอีกไม่กี่ชั่วโมงข้างหน้าฉันจะอัปเดตโพสต์หากมีผลต่อ config ของผู้สังเกตการณ์ในพื้นที่
Raphael ที่ Digital Pianism

5
@hellimac ไม่ค่าจาก config.xml จะถูกแปลงเป็นตัวพิมพ์เล็กเมื่ออ่าน: twitter.com/foomanNZ/status/689924329065164800
Fabian Schmengler

34

ปัญหาหนึ่งที่ฉันสังเกตเห็นคือถ้าเว็บไซต์ของคุณใช้เวอร์ชันน้อยกว่า PHP 5.4 แพทช์ไม่เข้ากัน

ในชั้นเรียนMage_Adminhtml_Helper_Salesรอบ ๆ หมายเลขบรรทัด 124 รหัสคือ:

$links = [];

ฉันต้องการที่จะขยายสิ่งนี้ให้เป็น:

        // Patch not compatible with PHP version 5.3: overwrote Magento patch update

        $links = array();

ข้อผิดพลาดอื่นที่ฉันพบดูเหมือนจะเกี่ยวข้องกับคุกกี้ที่ฉันตั้งไว้ เมื่อฉันล้างคุกกี้ของฉันแล้วหน้าทั้งหมดโหลดได้ดี

ตัวอย่างข้อผิดพลาด:

Notice: unserialize() [function.unserialize]: Error at offset 0 of 13 bytes  in `/var/www/website/app/code/core/Mage/Core/Helper/Cookie.php` on line 83

ฉันไม่แน่ใจว่ามีใครประสบปัญหาเหล่านี้หรือไม่ แต่หวังว่าจะช่วยได้!


1
ฉันเห็นสิ่งเดียวกันในรหัสที่เราได้ทำการแก้ไข โปรแกรมแก้ไขพร้อมกันแก้ไขข้อบกพร่องที่เฉพาะเจาะจงกับ PHP 5.3 และแบ่งความเข้ากันได้กับ PHP 5.3
จิม OHalloran

ไม่ใช่คำตอบจริงๆเพียงแค่ข้อมูลเพิ่มเติม: การใช้ 7405 patch กับ Magento 1.5.1 site (ใช่ฉันรู้ว่า ... ) นั้นลำบากและเมื่อ "ประสบความสำเร็จ" ทำให้เกิดข้อผิดพลาด front-end และผู้ดูแลระบบก็ไม่พร้อมใช้งานอย่างสมบูรณ์ เว็บไซต์ตั้งอยู่บน php v5.3.1 - โชคดีที่ฉันสามารถกู้คืนกลับมาได้ ฉันมีการติดตั้ง v1.9 อีกอันใน php 5.3.3 ซึ่งฉันกำลังทดสอบ ... รู้สึกลังเลที่จะล้างแคชตอนนี้
Jon Holland

สามารถยืนยันได้ Mag 1.9.0.1 ใน php 5.3.3 พยายามที่จะดูบันทึกการสั่งซื้อในผู้ดูแลระบบเป็นพื้นที่เนื้อหาสีขาวเท่านั้น การเปลี่ยนแปลงแนะนำให้แก้ไขปัญหา จุดที่ดี
Jon Holland

22

นี่เป็นปัญหาที่ฉันพบเมื่อทำการ Magento CE กับ SUPEE-7405 มันมาแทนที่บรรทัด:

chmod($destinationFile, 0777);

ด้วย:

chmod($destinationFile, 0640);

ในไฟล์ lib/Varien/File/Uploader.php

สิ่งนี้ทำให้รูปภาพของฉันหยุดแสดงที่ด้านหลังเนื่องจากการอนุญาตไฟล์นี้ควรเป็น 644 จริง ๆ มีเหตุผลใดที่ตั้งไว้ที่ 640?


1
ฉันมีปัญหาเดียวกันใน Magento ver 1.7.0.2 ภาพสามารถอัปโหลดได้สำเร็จ แต่ไม่แสดงในแบ็กเอนด์เนื่องจากปัญหาการอนุญาต หากฉันเปลี่ยนการอนุญาต 0640 ถึง 0644 ภาพนั้นสามารถมองเห็นได้ซึ่งไม่ใช่วิธีการแก้ไขที่แน่นอน ดังนั้นฉันจึงเดาว่าคนวีโอไอพีจะต้องแก้ไขหรือให้วิธีอื่นในการแก้ปัญหานี้
jyotiranjan.in

ฉันคิดว่า apache / nginx ควรได้รับการกำหนดค่าให้อยู่ในกลุ่มเดียวกันกับที่ php-fpm สร้างภาพขึ้นมามีใครรู้ถึงผลกระทบด้านความปลอดภัยดังกล่าวหรือไม่
jzahedieh

มันเป็น suPHP ที่ทำให้ฉันมีปัญหาฉันคิดว่า! ฉันได้ปิดการใช้งานและเปิดใช้งาน php-cgi แทนซึ่งเพิ่มความเร็วหน้า แต่ฉันยังคงมีปัญหาการอนุญาต ฉันไม่แน่ใจเกี่ยวกับผลกระทบด้านความปลอดภัยดังนั้นฉันจึงทิ้งมันไว้ ฉันไม่ต้องการเปิดช่องโหว่ใด ๆ ! ฉันต้องการแก้ไขไฟล์หลัก!
Liam McArthur

3
โดยทั่วไปปัญหาคือ apache ไม่ได้ทำงานเป็นผู้ใช้เดียวกันกับ php การเปลี่ยนการอนุญาตเป็น 640 หมายถึงไฟล์ไม่สามารถอ่านได้ทั่วโลกอีกต่อไป คุณจะต้องตรวจสอบให้แน่ใจว่า apache กำลังทำงานในฐานะผู้ใช้เดียวกันกับ php อาจเป็นเรื่องยากหาก cpanel ที่ทำงานอยู่ของคุณเป็นวิธีที่ดีที่จะตั้งกลุ่มเป็นไม่มีใครและทำให้เหนียวเช่น:chown USERNAME:nobody -R public_html find ./public_html -type d -exec chmod g+s {} \;
rob3000

วิธีการแก้ปัญหานี้?
Arvind07

21

เมื่อสมัคร Magento 1.7.0.0 มันพยายามที่จะลบความคิดเห็นใน 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

ที่ไม่ถูกเพิ่มจนกว่า 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


ฉันเพิ่งเพิ่มบรรทัดนั้นใน 1.7.0.0 iframe.phtml และรันโปรแกรมปะแก้อีกครั้งและประสบความสำเร็จ
Danny Z

1
@DannyZ สิ่งเดียวกันที่นี่แค่คิดว่าฉันควรจดบันทึกไว้ที่ไหนสักแห่ง :)
rob3000

19

ไฟล์เหล่านี้ได้รับการติดตั้งแล้วคุณสามารถเห็นผลกระทบที่เป็นไปได้:
เทมเพลต:เทมเพลตผู้ดูแลระบบส่วนใหญ่จะได้รับการแพตช์

+++ app/design/frontend/base/default/template/rss/order/details.phtml
+++ app/design/frontend/base/default/template/catalog/product/view/options/type/file.phtml
+++ app/design/adminhtml/default/default/template/sales/order/view/info.phtml
+++ app/design/adminhtml/default/default/template/sales/order/totals/discount.phtml
+++ app/design/adminhtml/default/default/template/sales/items/renderer/default.phtml
+++ app/design/adminhtml/default/default/template/sales/items/column/name.phtml
+++ app/design/adminhtml/default/default/template/downloadable/sales/items/column/downloadable/name.phtml
+++ app/design/adminhtml/default/default/template/downloadable/sales/items/column/downloadable/invoice/name.phtml
+++ app/design/adminhtml/default/default/template/downloadable/sales/items/column/downloadable/creditmemo/name.phtml
+++ app/design/adminhtml/default/default/template/catalog/product/composite/fieldset/options/type/file.phtml
+++ app/design/adminhtml/default/default/template/bundle/sales/shipment/view/items/renderer.phtml
+++ app/design/adminhtml/default/default/template/bundle/sales/shipment/create/items/renderer.phtml
+++ app/design/adminhtml/default/default/template/bundle/sales/order/view/items/renderer.phtml
+++ app/design/adminhtml/default/default/template/bundle/sales/invoice/view/items/renderer.phtml
+++ app/design/adminhtml/default/default/template/bundle/sales/invoice/create/items/renderer.phtml
+++ app/design/adminhtml/default/default/template/bundle/sales/creditmemo/view/items/renderer.phtml
+++ app/design/adminhtml/default/default/template/bundle/sales/creditmemo/create/items/renderer.phtml
+++ app/design/adminhtml/default/default/template/authorizenet/directpost/iframe.phtml

core / libs:

+++ lib/Varien/Io/File.php
+++ lib/Varien/File/Uploader.php
+++ app/code/core/Zend/Xml/Security.php
+++ app/code/core/Mage/Sales/Model/Quote/Item.php
+++ app/code/core/Mage/Sales/Model/Quote/Address.php
+++ app/code/core/Mage/Sales/Helper/Guest.php
+++ app/code/core/Mage/Rss/Helper/Order.php
+++ app/code/core/Mage/Rss/Block/Catalog/Salesrule.php
+++ app/code/core/Mage/Review/controllers/ProductController.php
+++ app/code/core/Mage/Paypal/controllers/PayflowadvancedController.php
+++ app/code/core/Mage/Paypal/controllers/PayflowController.php
+++ app/code/core/Mage/Newsletter/Model/Queue.php
+++ app/code/core/Mage/Newsletter/Model/Observer.php
+++ app/code/core/Mage/ImportExport/Model/Import/Entity/Abstract.php
+++ app/code/core/Mage/ImportExport/Model/Export/Adapter/Csv.php
+++ app/code/core/Mage/ImportExport/Model/Export/Adapter/Abstract.php
+++ app/code/core/Mage/Downloadable/controllers/CustomerController.php
+++ app/code/core/Mage/Dataflow/Model/Convert/Parser/Csv.php
+++ app/code/core/Mage/Customer/controllers/AccountController.php
+++ app/code/core/Mage/Core/Model/Session.php
+++ app/code/core/Mage/Core/Model/Input/Filter/MaliciousCode.php
+++ app/code/core/Mage/Core/Model/File/Validator/Image.php
+++ app/code/core/Mage/Core/Model/Email/Template/Filter.php
+++ app/code/core/Mage/Core/Model/Email/Queue.php
+++ app/code/core/Mage/Core/Model/Config.php
+++ app/code/core/Mage/Core/Model/App.php
+++ app/code/core/Mage/Core/Helper/Data.php
+++ app/code/core/Mage/Checkout/controllers/OnepageController.php
+++ app/code/core/Mage/Checkout/controllers/CartController.php
+++ app/code/core/Mage/Checkout/Block/Cart/Item/Renderer.php
+++ app/code/core/Mage/CatalogInventory/Helper/Minsaleqty.php
+++ app/code/core/Mage/Catalog/Model/Resource/Product/Attribute/Backend/Image.php
+++ app/code/core/Mage/Catalog/Model/Category/Attribute/Backend/Image.php
+++ app/code/core/Mage/Catalog/Block/Product/View/Options/Type/Select.php
+++ app/code/core/Mage/Authorizenet/controllers/Adminhtml/Authorizenet/Directpost/PaymentController.php
+++ app/code/core/Mage/Authorizenet/Helper/Data.php
+++ app/code/core/Mage/Authorizenet/Helper/Admin.php
+++ app/code/core/Mage/Adminhtml/controllers/IndexController.php
+++ app/code/core/Mage/Adminhtml/Model/System/Config/Backend/Image/Favicon.php
+++ app/code/core/Mage/Adminhtml/Model/System/Config/Backend/Image.php
+++ app/code/core/Mage/Adminhtml/Model/System/Config/Backend/File.php
+++ app/code/core/Mage/Adminhtml/Helper/Sales.php
+++ app/code/core/Mage/Adminhtml/Helper/Catalog/Product/Edit/Action/Attribute.php
+++ app/code/core/Mage/Adminhtml/Block/Widget/Grid.php
+++ app/code/core/Mage/Adminhtml/Block/Sales/Order/View/Tab/History.php
+++ app/code/core/Mage/Admin/Model/User.php
+++ app/code/core/Mage/Admin/Model/Resource/User.php
+++ app/code/core/Mage/Admin/Model/Redirectpolicy.php
+++ app/code/core/Mage/Admin/Model/Observer.php

================================================== ======================= ps เพื่อรวมเข้าด้วยกันเราได้สร้าง multipatch "no-brainer" เพื่อแก้ไขเซิร์ฟเวอร์จำนวนมากที่มีการติดตั้ง magento หลายตัว multipatch-7405.sh


ดี! ไม่สามารถจำทับไฟล์ชุดรูปแบบเหล่านั้นได้ดังนั้น patch .sh สามารถทำสิ่งต่าง ๆ ได้: D
Bobadevv

1
ทำได้ดีมาก ทวีตเป็นความคิดที่ดี ฉันแค่หวังว่าวีโอไอพีจะปล่อยแฮช SHA1 สำหรับแพทช์ของพวกเขาเพื่อให้เราสามารถตรวจสอบว่าพวกเขาตรงกับแหล่งข้อมูลภายนอก
philwinkle

สิ่งนี้สามารถทำให้ง่ายขึ้นได้โดยการเข้าถึงคลังเก็บของวีโอไอพีโดยตรงกับขดโปรแกรมแก้ไขทั้งหมด แต่เรามีปัญหาบางอย่างกับมัน และมันจำเป็นต้องป้อนรายละเอียดการเข้าสู่ระบบของคุณ ... magento wtf ...
MagenX

14

นี่คือแผนการทดสอบพื้นฐานของฉัน:

  • ใช้คูปอง
  • เข้าสู่ระบบเพื่อดูแลระบบ
  • บังคับให้ผู้ดูแลระบบเปลี่ยนรหัสผ่าน
  • ส่งออกเป็น CSV
  • นำเข้า CSV
  • รีเซ็ตรหัสผ่านในฐานะผู้ดูแลระบบและลูกค้า
  • สร้างคำสั่งซื้อในผู้ดูแลระบบ
  • สร้างและสั่งซื้อในส่วนหน้าในฐานะแขก
  • สร้างและสั่งซื้อในส่วนหน้าเป็นลูกค้า
  • เพิ่มรูปภาพไปยังผลิตภัณฑ์
  • สร้างใบลดหนี้
  • สร้างใบแจ้งหนี้

รายการนี้จะช่วยให้ฉันเข้าใจข้อผิดพลาดที่เกิดจากโปรแกรมแก้ไขนี้ได้อย่างไรหรือเป็นเพียงนักพัฒนาที่มีมือที่โค้งงอ ???
MagenX

@MagenX ฉันไม่รู้ว่านักพัฒนามีมือที่โค้งงอหมายถึงอะไร แต่เมื่อฉันกระจายแพตช์ฉันทำรายการสิ่งต่าง ๆ ที่อาจเป็นปัญหาได้
Brideo

@MagenX ดังนั้นหลังจากใช้ปะฉันจะตรวจสอบพื้นที่เหล่านั้นขออภัยถ้ามันไม่มีประโยชน์
Brideo

อ่าชุดทดสอบพื้นฐานสำหรับหลังจากการตรวจสอบแพตช์เพื่อให้แน่ใจว่าคุณพบอุ๊ยก่อนที่ลูกค้าและคนงานของคุณทำ ... ทำให้รู้สึกที่สมบูรณ์แบบในขณะที่มันออกกำลังกายในพื้นที่ได้รับผลกระทบจากไฟล์ปะ
Fiasco Labs

นี่จะเป็นคำตอบที่ดี (ดีกว่า) สำหรับคำถามนี้ที่นี่: magento.stackexchange.com/questions/98565/…
Anna Völkl


9

หากคุณอัปเดตจากวีโอไอพี EE 1.14.2.x ไปวีโอไอพี EE 1.14.2.3แทนการใช้แพทช์และยังใช้การสนับสนุนแพทช์สุภี-5984ก่อนที่คุณจะต้องนำไปใช้ใหม่ได้อีกครั้งเพราะมันจะไม่รวมอยู่ในการปล่อย

นี่คือโปรแกรมแก้ไขที่แก้ไขตัวทำดัชนีที่เสียหาย: ข้อผิดพลาดของดัชนีหลังจากอัปเกรดเป็น EE 1.14.2.0: ไม่มีแค็ตตาล็อก catalog_product_entity_tmp_indexer


8

ตั้งแต่วันที่ 23 กุมภาพันธ์ 2559 วีโอไอพีได้เปิดตัวแพทช์สำหรับแพทช์เพื่อแก้ไขปัญหาต่าง ๆ เหล่านี้: https://magento.com/security/patches/supee-7405

คุณต้องใช้ SUPEE_7405_v1 ตามด้วย SUPEE_7405_v1.1 ตามลำดับ


8

สกรีนช็อตสำหรับหน้ารายละเอียดการสั่งซื้อของผู้ดูแลระบบหากแสดงปัญหาประเภทนี้โปรดปฏิบัติตามคำแนะนำด้านล่างมันใช้ได้สำหรับฉัน !!ป้อนคำอธิบายรูปภาพที่นี่

วิธีการแก้

เปลี่ยนบรรทัด 124 ในแอป / รหัส / core / Mage / Adminhtml / Helper / Sales.php จาก $ links = []; ถึง $ links = array ();


7

เมื่อใดก็ตามที่เราติดตั้งโปรแกรมแก้ไขสำหรับลูกค้าของเราเราจะใช้รายการตรวจสอบต่อไปนี้:

  • สำรองข้อมูลทั้งหมดของไฟล์ไซต์ & ฐานข้อมูล
  • ตรวจสอบให้แน่ใจว่าได้ติดตั้งแพตช์ก่อนหน้านี้เรียบร้อยแล้ว (สามารถมองเห็นได้ในapp/etc/applied.patches.listไฟล์)
  • หลังจากติดตั้งแพตช์สำเร็จให้ล้างแคชและสร้างคำสั่งทดสอบเพื่อให้แน่ใจว่าทุกอย่างทำงานได้

ฉันเดาว่านั่นคือทั้งหมดที่มีให้ แพทช์ได้รับการออกแบบให้ติดตั้งได้อย่างรวดเร็วและไม่ยุ่งยาก 9 จาก 10 ครั้งพวกเขาจะติดตั้งได้อย่างสมบูรณ์แบบและในบางครั้งเรามีการสำรองข้อมูล ตราบใดที่คุณไม่ได้ยุ่งกับไฟล์หลักทุกอย่างก็โอเค


ไฟล์อาจapp/etc/applied.patches.list
MagenX

3
ฉันไม่รู้สึกเช่นนี้ตอบคำถาม OP หมายถึง SUPEE-6788 ซึ่งจำเป็นต้องทำงานด้วยตนเองเป็นตันในส่วนขยายของบุคคลที่สามไม่ใช่วิธีการใช้โปรแกรมแก้ไข
Robbie Averill

OP หมายถึง SUPEE-6788 Robbie ไม่ใช่ 6788
Gary Olderman

ขออภัยที่จะชี้แจงคำถามที่ชัดเจนเกี่ยวกับ 7405 แต่ถามในแง่ของฝันร้ายที่เป็น 6788- มันบริบท
Robbie Averill

6

ไฟล์ที่ได้รับผลกระทบที่นี่สำหรับ Magento EE

> -e 2016-02-11 03:14:54 UTC | SUPEE-7405-EE-1-14-2-2 | EE_1.14.2.2 | v1 | 91465c744a824111902e2911fd63fd8cb6c32f05 | Tue Jan 19 14:27:03 2016 +0200 | e1fc3c59c9..91465c744a
patching file app/code/core/Enterprise/Checkout/Block/Adminhtml/Manage/Form/Coupon.php
patching file app/code/core/Enterprise/GoogleAnalyticsUniversal/Block/Ga.php
patching file app/code/core/Enterprise/PageCache/etc/config.xml
patching file app/code/core/Enterprise/Pbridge/etc/config.xml
patching file app/code/core/Enterprise/Pci/Model/Observer.php
patching file app/code/core/Enterprise/Pci/Model/Resource/Admin/User.php
patching file app/code/core/Enterprise/Pci/etc/config.xml
patching file app/code/core/Enterprise/Persistent/etc/config.xml
patching file app/code/core/Enterprise/SalesArchive/etc/config.xml
patching file app/code/core/Enterprise/WebsiteRestriction/etc/config.xml
patching file app/code/core/Mage/Admin/Model/Observer.php
patching file app/code/core/Mage/Admin/Model/Redirectpolicy.php
patching file app/code/core/Mage/Admin/Model/Resource/User.php
patching file app/code/core/Mage/Admin/Model/User.php
patching file app/code/core/Mage/Adminhtml/Block/Sales/Order/View/Tab/History.php
patching file app/code/core/Mage/Adminhtml/Block/Widget/Grid.php
patching file app/code/core/Mage/Adminhtml/Helper/Catalog/Product/Edit/Action/Attribute.php
patching file app/code/core/Mage/Adminhtml/Helper/Sales.php
patching file app/code/core/Mage/Adminhtml/Model/System/Config/Backend/File.php
patching file app/code/core/Mage/Adminhtml/Model/System/Config/Backend/Image.php
patching file app/code/core/Mage/Adminhtml/Model/System/Config/Backend/Image/Favicon.php
patching file app/code/core/Mage/Adminhtml/controllers/IndexController.php
patching file app/code/core/Mage/Authorizenet/Helper/Admin.php
patching file app/code/core/Mage/Authorizenet/Helper/Data.php
patching file app/code/core/Mage/Authorizenet/controllers/Adminhtml/Authorizenet/Directpost/PaymentController.php
patching file app/code/core/Mage/Captcha/etc/config.xml
patching file app/code/core/Mage/Catalog/Block/Product/View/Options/Type/Select.php
patching file app/code/core/Mage/Catalog/Model/Category/Attribute/Backend/Image.php
patching file app/code/core/Mage/Catalog/Model/Resource/Product/Attribute/Backend/Image.php
patching file app/code/core/Mage/CatalogIndex/etc/config.xml
patching file app/code/core/Mage/CatalogInventory/Helper/Minsaleqty.php
patching file app/code/core/Mage/Checkout/Block/Cart/Item/Renderer.php
patching file app/code/core/Mage/Checkout/controllers/CartController.php
patching file app/code/core/Mage/Checkout/controllers/OnepageController.php
patching file app/code/core/Mage/Core/Helper/Data.php
patching file app/code/core/Mage/Core/Model/App.php
patching file app/code/core/Mage/Core/Model/Config.php
patching file app/code/core/Mage/Core/Model/Email/Queue.php
patching file app/code/core/Mage/Core/Model/Email/Template/Filter.php
patching file app/code/core/Mage/Core/Model/File/Validator/Image.php
patching file app/code/core/Mage/Core/Model/Input/Filter/MaliciousCode.php
patching file app/code/core/Mage/Core/Model/Session.php
patching file app/code/core/Mage/Customer/controllers/AccountController.php
patching file app/code/core/Mage/Dataflow/Model/Convert/Parser/Csv.php
patching file app/code/core/Mage/Downloadable/controllers/CustomerController.php
patching file app/code/core/Mage/ImportExport/Model/Export/Adapter/Abstract.php
patching file app/code/core/Mage/ImportExport/Model/Export/Adapter/Csv.php
patching file app/code/core/Mage/ImportExport/Model/Import/Entity/Abstract.php
patching file app/code/core/Mage/ImportExport/etc/config.xml
patching file app/code/core/Mage/ImportExport/etc/system.xml
patching file app/code/core/Mage/Newsletter/Model/Observer.php
patching file app/code/core/Mage/Newsletter/Model/Queue.php
patching file app/code/core/Mage/Page/etc/system.xml
patching file app/code/core/Mage/Paypal/controllers/PayflowController.php
patching file app/code/core/Mage/Paypal/controllers/PayflowadvancedController.php
patching file app/code/core/Mage/Paypal/etc/config.xml
patching file app/code/core/Mage/Persistent/etc/config.xml
patching file app/code/core/Mage/Review/controllers/ProductController.php
patching file app/code/core/Mage/Rss/Block/Catalog/Salesrule.php
patching file app/code/core/Mage/Rss/Helper/Order.php
patching file app/code/core/Mage/Sales/Helper/Guest.php
patching file app/code/core/Mage/Sales/Model/Quote/Address.php
patching file app/code/core/Mage/Sales/Model/Quote/Item.php
patching file app/code/core/Zend/Xml/Security.php
patching file app/design/adminhtml/default/default/template/authorizenet/directpost/iframe.phtml
patching file app/design/adminhtml/default/default/template/bundle/sales/creditmemo/create/items/renderer.phtml
patching file app/design/adminhtml/default/default/template/bundle/sales/creditmemo/view/items/renderer.phtml
patching file app/design/adminhtml/default/default/template/bundle/sales/invoice/create/items/renderer.phtml
patching file app/design/adminhtml/default/default/template/bundle/sales/invoice/view/items/renderer.phtml
patching file app/design/adminhtml/default/default/template/bundle/sales/order/view/items/renderer.phtml
patching file app/design/adminhtml/default/default/template/bundle/sales/shipment/create/items/renderer.phtml
patching file app/design/adminhtml/default/default/template/bundle/sales/shipment/view/items/renderer.phtml
patching file app/design/adminhtml/default/default/template/catalog/product/composite/fieldset/options/type/file.phtml
patching file app/design/adminhtml/default/default/template/downloadable/sales/items/column/downloadable/creditmemo/name.phtml
patching file app/design/adminhtml/default/default/template/downloadable/sales/items/column/downloadable/invoice/name.phtml
patching file app/design/adminhtml/default/default/template/downloadable/sales/items/column/downloadable/name.phtml
patching file app/design/adminhtml/default/default/template/enterprise/checkout/form/coupon.phtml
patching file app/design/adminhtml/default/default/template/sales/items/column/name.phtml
patching file app/design/adminhtml/default/default/template/sales/items/renderer/default.phtml
patching file app/design/adminhtml/default/default/template/sales/order/totals/discount.phtml
patching file app/design/adminhtml/default/default/template/sales/order/view/info.phtml
patching file app/design/frontend/base/default/template/catalog/product/view/options/type/file.phtml
patching file app/design/frontend/base/default/template/rss/order/details.phtml
patching file lib/Varien/File/Uploader.php
patching file lib/Varien/Io/File.php

5

หลังจากใช้ SUPEE-7405 กับ Magento 1.14.1.0 ฉันได้รับข้อผิดพลาด:

Fatal error: Cannot redeclare Mage_Core_Controller_Varien_Router_Admin::_validateControllerInstance() in app/code/core/Mage/Core/Controller/Varien/Router/Admin.php on line 173

ปัญหาเกิดจากการประกาศวิธี _validateControllerInstance อีกครั้งใน

app/code/core/Mage/Core/Controller/Varien/Router/Admin.php on line 173

หลังจากลบการประกาศฟังก์ชันที่สอง (เดียวกัน) ปัญหาได้รับการแก้ไขแล้ว


5

ฉันได้รับข้อผิดพลาดต่อไปนี้หลังจากติดตั้งแพตช์ SUPEE-7405 เมื่อพยายามลงชื่อเข้าใช้ผู้ดูแลระบบ

ข้อผิดพลาดร้ายแรง: วิธีการโทรไปยังไม่ได้กำหนด Mage_Core_Controller_Response_Http :: sendHeadersAndExit () ใน
\ app \ code \ core \ Mage \ Admin \ Model \ Session.php ในบรรทัด 135

เพราะฉันมีไฟล์นี้ถูกแทนที่ในกลุ่มรหัสท้องถิ่นซึ่งไม่มี sendHeadersAndExit วิธีการที่สร้างขึ้นโดยแพทช์นี้

\app\code\local\Mage\Core\Controller\Response\Http.php ไม่มีวิธีการต่อไปนี้ (นี่เป็นวิธีการใหม่ที่เพิ่มเข้าไปในไฟล์คอร์)

  /**
     * Method send already collected headers and exit from script
     */
    public function sendHeadersAndExit()
    {
        $this->sendHeaders();
        exit;
    }

หลังจากเพิ่มสิ่งนี้ไปยังปัญหาไฟล์แทนที่แล้วหายไป


3

หนึ่งในปัญหาที่ฉันได้รับเมื่อใช้ SUPEE-7405 คือข้อบกพร่องในการอัพโหลดรูปภาพ

ดังนั้นฉันจะตรวจสอบการเปลี่ยนแปลงในไฟล์นี้: lib / Varien / File / Uploader.php

diff --git lib / Varien / ไฟล์ / Uploader.php lib / Varien / ไฟล์ / Uploader.php
---
---
- chmod ($ destinationFile, 0777);
+ chmod ($ destinationFile, 0640);
---
---
- ถ้า (! (@ is_dir ($ ปลายทางโฟลเดอร์) || @mkdir ($ destinationFolder, 0777, จริง))) {
+ if (! (@ is_dir ($ destinationFolder) || @mkdir ($ destinationFolder, 0750, true))) {

จากนั้นฉันค้นพบสองวิธีในการเอาชนะ:

ตัวเลือกที่ 1:

ฉันทำการเปลี่ยนแปลงด้วยตนเองในไฟล์lib / Varien / File / Uploader.phpเพื่อปรับสิทธิ์ 0640/0750

ตัวเลือกที่ 2: เนื่องจาก Magento คาดว่าเว็บเซิร์ฟเวอร์จะเป็นเจ้าของไฟล์ไซต์:

http://devdocs.magento.com/guides/m1x/install/installer-privileges_after.html#privs-after

อีกวิธีหนึ่งในการแก้ไขปัญหาคือการทำให้เว็บเซิร์ฟเวอร์เป็นเจ้าของไฟล์

chown -R เว็บเซิร์ฟเวอร์เซิร์ฟเวอร์ชื่อผู้ใช้วีโอไอพี / รูท / พา ธ

ชื่อผู้ใช้เว็บเซิร์ฟเวอร์โดยทั่วไปคือ www-data หรือ apache

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.