วิธีตรวจสอบว่าโมดูลใดได้รับผลกระทบจากแพตช์ความปลอดภัย SUPEE-6788


71

เมื่อวันที่ 27 ตุลาคม 2558 Magento ได้เปิดตัวแพตช์รักษาความปลอดภัย SUPEE-6788 ตามรายละเอียดทางเทคนิค 4 APPSEC ที่ได้รับการแก้ไขจำเป็นต้องมีการทำงานซ้ำในโมดูลท้องถิ่นและชุมชน:

  • APPSEC-1034, การจัดการกับการข้าม URL ของผู้ดูแลระบบที่กำหนดเอง (ถูกปิดใช้งานโดยค่าเริ่มต้น)
  • APPSEC-1063, แก้ไขการฉีด SQL ที่เป็นไปได้
  • APPSEC-1057 วิธีการประมวลผลแม่แบบช่วยให้เข้าถึงข้อมูลส่วนตัว
  • APPSEC-1079, จัดการกับการหาประโยชน์ที่อาจเกิดขึ้นกับประเภทไฟล์ตัวเลือกที่กำหนดเอง

ฉันสงสัยว่าจะตรวจสอบว่าโมดูลใดได้รับผลกระทบจากแพตช์ความปลอดภัยนี้

ฉันคิดวิธีแก้ปัญหาบางส่วนต่อไปนี้:

  • APPSEC-1034: ค้นหา<use>admin</use>ใน config.xml ของโมดูลโลคัลและชุมชนทั้งหมด ฉันคิดว่านี่น่าจะเป็นรายการโมดูลทั้งหมดที่ได้รับผลกระทบจากปัญหานี้
  • APPSEC-1063: ค้นหาaddFieldToFilter('(และaddFieldToFilter('`ในไฟล์ PHP ทั้งหมดของโมดูลโลคัลและชุมชน สิ่งนี้ไม่สมบูรณ์เนื่องจากยังสามารถใช้ตัวแปรได้
  • APPSEC-1057: ค้นหา{{config path=และ{{block type=ในไฟล์ PHP ทั้งหมดของโมดูลโลคัลและชุมชนและกรององค์ประกอบทั้งหมดจากรายการที่อนุญาต สิ่งนี้ไม่สมบูรณ์เนื่องจากไม่มีตัวแปรเทมเพลตใด ๆ ที่เพิ่มโดยผู้ดูแลระบบ
  • APPSEC-1079: ไม่คิด

นอกจากนี้ยังมีรายการส่วนขยายที่มีช่องโหว่สำหรับ APPSEC-1034 และ APPSEC-1063 ที่รวบรวมโดยPeter Jaap Blaakmeer


ฉันไม่รู้ว่าจะติดต่อ @PeterJaapBlaakmeer ได้อย่างไร แต่ฉันมีส่วนขยายที่ต้องการเพิ่มลงในรายการ: FreeLunchLabs ConstantContact สำหรับปัญหา URL ของผู้ดูแลระบบ
David Wilkins

6
ใครที่คิดวิธีแก้ปัญหาเหล่านี้บ้าง ทันใดนั้นจะมีประเภทบล็อกและรายการที่อนุญาตพิเศษหรือไม่ การอัพเกรด Magento เป็นความเจ็บปวดมาตลอด แต่ก็เป็นงานที่ดีสำหรับ Magento ที่ทำให้มันเจ็บปวดยิ่งขึ้น
Agop

6
Heh, Magento ของขวัญที่มอบให้ ฉันเพิ่งอัพเกรดโมดูลทั้งหมดสำหรับความเข้ากันได้ 1.9.2.1 นักพัฒนาโมดูลการเดิมพันเพียงแค่กระโดดเพื่อความสุขหรือวิ่งกรีดร้องเพื่อเนินเขา
Fiasco Labs

3
ในขณะนี้โปรแกรมแก้ไขเลื่อนออกไปสำหรับสัปดาห์ถัดไป - เลื่อนการปล่อยโปรแกรมแก้ไขความปลอดภัยจนถึงต้นสัปดาห์หน้าและปรับเปลี่ยนโปรแกรมแก้ไขเพื่อให้การเปลี่ยนแปลงการกำหนดเส้นทางผู้ดูแลระบบถูกปิดใช้งานตามค่าเริ่มต้น ซึ่งหมายความว่าโปรแกรมแก้ไขจะรวมการแก้ไข แต่จะถูกปิดใช้งานเมื่อติดตั้ง วันที่รีลีสใหม่และการเปลี่ยนแปลงแพทช์จะให้เวลาคุณเพิ่มเติมในการอัปเดตรหัสของคุณและจะให้ความยืดหยุ่นแก่ผู้ค้าในการเปิดส่วนของแพทช์นี้เมื่อส่วนขยายและการปรับแต่งของพวกเขาได้รับการปรับปรุงแล้ว
FireBear

1
PATCH ได้รับการเผยแพร่magento.com/security/patches/supee-6788-technical-details
Mukesh

คำตอบ:


55

SUPEE-6788 ออกแล้วและการเปลี่ยนเส้นทางของผู้ดูแลระบบจะถูกปิดโดยปริยาย ซึ่งหมายความว่าโปรแกรมแก้ไขมีการแก้ไข แต่จะถูกปิดใช้งานเมื่อติดตั้ง วิธีนี้จะช่วยให้คุณมีเวลาเพิ่มเติมในการอัปเดตรหัสของคุณและทำให้ผู้ค้ามีความยืดหยุ่นในการเปิดส่วนนี้ของแพตช์เมื่อส่วนขยายและการปรับแต่งของพวกเขาได้รับการปรับปรุงเพื่อให้ทำงานได้

สำหรับเปิดใช้งานความสามารถในการกำหนดเส้นทางผู้ดูแลระบบสำหรับส่วนขยายหลังจากติดตั้งพา ธ ไปที่ผู้ดูแลระบบ -> ขั้นสูง -> ผู้ดูแลระบบ -> ความปลอดภัย

Magento CE 1.4-1.6 ซอฟต์แวร์แก้ไขล่าช้าและควรจะให้บริการในประมาณหนึ่งสัปดาห์!

รายการทรัพยากร SUPEE-6788


สำหรับโมดูล "ไม่แก้ไข" เราสามารถทำเอกสารอะไรที่จำเป็นต้องเปลี่ยนโดยทั่วไปเพื่อให้โมดูลเหล่านี้สามารถติดตั้งด้วยตนเองเพื่อทำงานกับ 6788 ได้หรือไม่? ตัวอย่างเช่น "ลบ X จากการaddFieldToFilterโทรทั้งหมด"
Tyler V.

1
แพตช์ได้รับการเผยแพร่ โปรดอัปเดตคำตอบของคุณ
7ochem

@FireBear ฉันได้ทำการติดตั้ง Magento patches มาแล้วหลายครั้งในอดีต แต่ฉันมีข้อสงสัยเกี่ยวกับ SUPEE-6788 ฉันต้องใช้มันหรือเปล่าเช่นเดียวกับแพตช์อื่น ๆ และในภายหลังฉันสามารถเปิดใช้งานความสามารถในการกำหนดเส้นทางของผู้ดูแลระบบในแผงควบคุมของ Magento หรือในขณะที่ต้องใช้เวลาในการติดตั้งเท่านั้น กรุณาแนะนำ
Mukesh

2
@ มุกใช่คุณสามารถติดตั้งเป็นแพทช์อื่น ๆ แต่ต้องระวังเกี่ยวกับส่วนขยายที่ขาดถ้าคุณใช้ส่วนขยายบางรายการจากรายการ - คุณต้องแก้ไขด้วยตนเองหรือรอการปรับปรุงจากนักพัฒนาจนกว่าคุณจะสามารถเปิดใช้งาน - ความสามารถเส้นทางผู้ดูแลระบบ สำหรับส่วนขยาย
FireBear

@FireBear คุณสามารถให้ข้อเสนอแนะของคุณเกี่ยวกับcommunity.magento.com/t5/Version-Upgrades/… (ก่อนและหลังในโมดูลที่กำหนดเอง)
Mukesh

21

ตามแนวความคิดเห็นอื่น ๆ เกี่ยวกับการตรวจสอบความขัดแย้งเราที่ ParadoxLabs ได้สร้างสคริปต์เพื่อติดตามทุกสิ่งที่ได้รับผลกระทบจาก APPSEC-1034 (ผู้ควบคุมระบบผู้ดูแลระบบ) และ APPSEC-1057 (รายการที่อนุญาต) นอกจากนี้ยังจะพยายามแก้ไขตัวควบคุมที่ไม่ถูกต้องเนื่องจากเป็นการเปลี่ยนแปลงที่แม่นยำและเป็นธรรม

มันไม่ครอบคลุม APPSEC-1063 (การฉีด SQL) หรือ APPSEC-1079 (ตัวเลือกที่กำหนดเอง) แต่มันจะดีถ้ามันทำได้ ไม่แน่ใจว่าจะตรวจจับสิ่งเหล่านั้นด้วยความแม่นยำใด ๆ เราเปิดให้มีส่วนร่วม

https://github.com/rhoerr/supee-6788-toolbox


3
มันดูมีประโยชน์จริงๆและทำงานได้ดี!
paj

fixWhitelists เพิ่มบล็อกให้กับบัญชีขาว แต่ดูเหมือนว่าจะไม่เหมือนกันสำหรับตัวแปร - โปรดคุณยืนยันได้ไหม
zigojacko

1
@zigojacko ครอบคลุมทั้งสองอย่าง
Ryan Hoerr

ใช่คิดออกโดยให้มันไป ทำงานได้ดีเยี่ยมสุดยอดงานโดย ParadoxLabs :)
zigojacko

เคารพ ParadoxLabs เครื่องมือนั้นกำลังบันทึกงานจำนวนมาก
DarkCowboy

5

สคริปต์ PHP นี้อาจมีประโยชน์ในการระบุรหัสวีโอไอพีที่ได้รับผลกระทบจากแพทช์ SUPEE-6788 ที่เสนอ

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

ติดตั้งสคริปต์ด้วย

wget https://raw.githubusercontent.com/gaiterjones/magento-appsec-file-check/master/magento_appsec_file_check.php

แก้ไขเส้นทางไปยังการติดตั้ง Magento ของคุณ

$_magentoPath='/home/www/magento/';

วิ่ง

php magento_appsec_file_check.php

ไฟล์ที่ได้รับผลกระทบจะปรากฏขึ้น:

*** Magento security file check ***
[1] APPSEC-1034, addressing bypassing custom admin URL
2 effected files :
<use>admin</use> found in  app/code/community/Itabs/Debit/etc/config.xml
<use>admin</use> found in  app/code/core/Mage/Adminhtml/etc/config.xml


[2] APPSEC-1063, addressing possible SQL injection
2 effected files :
collection->addFieldToFilter(' found in  app/code/community/Itabs/Debit/Model/Export/Abstract.php
collection->addFieldToFilter(' found in  app/code/community/Itabs/Debit/controllers/Adminhtml/OrderController.php
collection->addFieldToFilter(' not found.
collection->addFieldToFilter('\` not found.
collection->addFieldToFilter('\` not found.


[3] APPSEC-1057, template processing method allows access to private information
{{config path= not found.
{{block type= not found.


***********************************

สคริปต์ใช้ grep เพื่อค้นหาไฟล์วีโอไอพีสำหรับการเกิดขึ้นของรหัสที่อาจแบ่งความเข้ากันได้แบบย้อนกลับกับการปรับแต่งหรือส่วนขยายเมื่อใช้ SUPEE-6788


4

มีรายการขนาดใหญ่พร้อมใช้งานกับส่วนขยายทั้งหมดที่จะหยุดกับ SUPEE-6788

ข้อมูลเพิ่มเติมที่นี่: https://docs.google.com/spreadsheets/d/1LHJL6D6xm3vD349DJsDF88FBI_6PZvx_u3FioC_1-rg/edit#gid=0


ฉันอยากรู้ว่าจริง ๆ แล้ววิธีรวบรวมรายชื่อนี้อย่างไร
mam08ixo

3
มันเป็นฝูงชน แหล่งต้นฉบับคือ: docs.google.co.th/spreadsheets/d/…
Herman Slatman

โปรดลบรายการออกจากหน้าเว็บด้านบนและเชื่อมโยงไปยังแหล่งข้อมูลแทนซึ่งเป็นข้อมูลล่าสุด: docs.google.com/spreadsheets/d/…
Aad Mathijssen

1
มีผู้ติดต่อเพื่อแจ้งให้ทราบเกี่ยวกับรุ่นที่อัปเดตหรือไม่ ฉันเห็นว่ามีโมดูลอย่างน้อย 2-3 โมดูลที่ได้รับการอัปเดตแล้ว
เมื่อ

-1

รายการของตัวแปรที่อนุญาตซึ่งสามารถประมวลผลผ่านตัวกรองเนื้อหานั้นใหญ่กว่าที่แสดงใน PDF:

+ trans_email/ident_support/name
+ trans_email/ident_support/email
web/unsecure/base_url
web/secure/base_url
trans_email/ident_general/name
+ trans_email/ident_general/email
trans_email/ident_sales/name
trans_email/ident_sales/email
trans_email/ident_custom1/name
trans_email/ident_custom1/email
trans_email/ident_custom2/name
trans_email/ident_custom2/email
general/store_information/name
general/store_information/phone
general/store_information/address

(ฉันได้เพิ่ม+ก่อนหน้าตัวแปรที่ไม่ได้อธิบายไว้ใน PDF)

บล็อกที่อนุญาตที่สามารถประมวลผลผ่านตัวกรองเนื้อหาคือ:

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