ตรวจพบช่องโหว่ที่สำคัญใน WooCommerce เมื่อวันที่ 13 กรกฎาคม 2021 – สิ่งที่คุณต้องรู้
เผยแพร่แล้ว: 2021-07-15ปรับปรุงล่าสุด : 23 กรกฎาคม 2564
เมื่อวันที่ 13 กรกฎาคม พ.ศ. 2564 Josh นักวิจัยด้านความปลอดภัยได้ระบุช่องโหว่ที่สำคัญเกี่ยวกับ WooCommerce และปลั๊กอินคุณลักษณะ WooCommerce Blocks และเปิดเผยอย่างมีความรับผิดชอบผ่านโปรแกรมความปลอดภัย HackerOne ของเรา
เมื่อทราบเกี่ยวกับปัญหาแล้ว ทีมของเราได้ดำเนินการตรวจสอบอย่างละเอียดทันที ตรวจสอบฐานโค้ดที่เกี่ยวข้องทั้งหมด และสร้างโปรแกรมแก้ไขเพื่อแก้ไขปัญหาสำหรับทุกเวอร์ชันที่ได้รับผลกระทบ (90+ รีลีส) ซึ่งนำไปใช้กับร้านค้าที่มีช่องโหว่โดยอัตโนมัติ
ฉันมีร้านค้า WooCommerce – ฉันควรทำอย่างไร?
การอัปเดตซอฟต์แวร์อัตโนมัติของ WooCommerce 5.5.1 เริ่มเปิดตัวในวันที่ 14 กรกฎาคม 2021 สำหรับร้านค้าทั้งหมดที่ใช้งานเวอร์ชันที่ได้รับผลกระทบของปลั๊กอินแต่ละตัว แต่เราขอแนะนำให้คุณตรวจสอบให้แน่ใจว่าคุณใช้เวอร์ชันล่าสุด สำหรับ WooCommerce นี่คือ 5.5.2 * หรือ จำนวนสูงสุดที่เป็นไปได้ ในสาขาการเผยแพร่ของคุณ หากคุณใช้งาน WooCommerce Blocks คุณควรใช้ปลั๊กอินเวอร์ชัน 5.5.1
สำคัญ : ด้วยการเปิดตัว WooCommerce 5.5.2 ในวันที่ 23 กรกฎาคม 2021 กระบวนการอัปเดตอัตโนมัติที่กล่าวถึงข้างต้นได้ถูกยกเลิก
หลังจากอัปเดตเป็นเวอร์ชันแพตช์แล้ว เรายังขอแนะนำ:
- การอัปเดตรหัสผ่านสำหรับผู้ใช้ที่เป็นผู้ดูแลระบบในไซต์ของคุณ โดยเฉพาะอย่างยิ่งหากพวกเขาใช้รหัสผ่านเดียวกันซ้ำในหลายเว็บไซต์
- การหมุนคีย์เกตเวย์การชำระเงินและ WooCommerce API ที่ใช้บนไซต์ของคุณ
มีข้อมูลเพิ่มเติมเกี่ยวกับขั้นตอนเหล่านี้ด้านล่าง
* WooCommerce 5.5.2 เปิดตัวเมื่อวันที่ 23 กรกฎาคม 2021 การแก้ไขที่มีอยู่ในเวอร์ชันนี้ไม่เกี่ยวข้องกับช่องโหว่ด้านความปลอดภัยล่าสุด
ฉันจะทราบได้อย่างไรว่าเวอร์ชันของฉันเป็นเวอร์ชันล่าสุด
ตารางด้านล่างประกอบด้วยรายการเวอร์ชันแพตช์ทั้งหมดสำหรับทั้งบล็อก WooCommerce และ WooCommerce หากคุณกำลังใช้งาน WooCommerce หรือ WooCommerce Blocks เวอร์ชันที่ไม่ได้อยู่ในรายการนี้ โปรดอัปเดตเป็นเวอร์ชันสูงสุดในสาขาที่เผยแพร่ของคุณทันที
เวอร์ชัน WooCommerce ที่ได้รับการแก้ไขแล้ว | เวอร์ชันบล็อก WooCommerce ที่ได้รับการแก้ไขแล้ว |
3.3.6 | 2.5.16 |
3.4.8 | 2.6.2 |
3.5.9 | 2.7.2 |
3.6.6 | 2.8.1 |
3.7.2 | 2.9.1 |
3.8.2 | 3.0.1 |
3.9.4 | 3.1.1 |
4.0.2 | 3.2.1 |
4.1.2 | 3.3.1 |
4.2.3 | 3.4.1 |
4.3.4 | 3.5.1 |
4.4.2 | 3.6.1 |
4.5.3 | 3.7.2 |
4.6.3 | 3.8.1 |
4.7.2 | 3.9.1 |
4.8.1 | 4.0.1 |
4.9.3 | 4.1.1 |
5.0.1 | 4.2.1 |
5.1.1 | 4.3.1 |
5.2.3 | 4.4.3 |
5.3.1 | 4.5.3 |
5.4.2 | 4.6.1 |
5.5.1 | 4.7.1 |
5.5.2 | 4.8.1 |
4.9.2 | |
5.0.1 | |
5.1.1 | |
5.2.1 | |
5.3.2 | |
5.4.1 | |
5.5.1 |
เหตุใดเว็บไซต์ของฉันจึงไม่ได้รับการอัปเดตอัตโนมัติ
ไซต์ของคุณอาจไม่ได้อัปเดตโดยอัตโนมัติด้วยเหตุผลหลายประการ สาเหตุที่เป็นไปได้บางประการคือ: คุณกำลังเรียกใช้เวอร์ชันก่อนที่จะได้รับผลกระทบ (ด้านล่าง WooCommerce 3.3) การอัปเดตอัตโนมัติถูกปิดใช้งานอย่างชัดแจ้งในไซต์ของคุณ ระบบไฟล์ของคุณคือ อ่านอย่างเดียว หรือมีส่วนขยายที่อาจขัดแย้งกันซึ่งทำให้ไม่สามารถอัปเดตได้
ในทุกกรณี (ยกเว้นตัวอย่างแรก ซึ่งคุณไม่ได้รับผลกระทบ) คุณควรพยายามอัปเดตเวอร์ชันแก้ไขล่าสุดด้วยตนเองในสาขาการเผยแพร่ของคุณ (เช่น 5.5.2, 5.4.2, 5.3.1 เป็นต้น) ตามที่ระบุไว้ใน ตารางด้านบน
ข้อมูลใด ๆ ถูกบุกรุกหรือไม่?
จากหลักฐานที่มีอยู่ในปัจจุบัน เราเชื่อว่าการหาประโยชน์ใด ๆ นั้นถูกจำกัด
หากร้านค้าได้รับผลกระทบ ข้อมูลที่เปิดเผยจะระบุเฉพาะว่าไซต์นั้นจัดเก็บอะไร แต่อาจรวมถึงข้อมูลคำสั่งซื้อ ลูกค้า และผู้ดูแลระบบ
ฉันจะตรวจสอบได้อย่างไรว่าร้านค้าของฉันถูกโจมตีหรือไม่
เนื่องจากลักษณะของช่องโหว่นี้ และวิธีที่ WordPress (และ WooCommerce) อนุญาตให้มีการจัดการคำขอทางเว็บที่มีความยืดหยุ่นสูง จึงไม่มีวิธีใดที่จะยืนยันการใช้ประโยชน์ได้อย่างชัดเจน คุณอาจตรวจพบความพยายามในการแสวงหาผลประโยชน์โดยตรวจสอบบันทึกการเข้าใช้เว็บเซิร์ฟเวอร์ของคุณ (หรือรับความช่วยเหลือจากโฮสต์เว็บของคุณในการดำเนินการดังกล่าว) คำขอในรูปแบบต่อไปนี้ที่เห็นระหว่างเดือนธันวาคม 2019 และขณะนี้มีแนวโน้มว่าบ่งชี้ว่ามีการพยายามหาประโยชน์:
- REQUEST_URI จับคู่นิพจน์ทั่วไป
/\/wp-json\/wc\/store\/products\/collection-data.*%25252.*/
- REQUEST_URI จับคู่นิพจน์ทั่วไป
/.*\/wc\/store\/products\/collection-data.*%25252.*/
(โปรดทราบว่านิพจน์นี้ไม่มีประสิทธิภาพ/ทำงานช้าในสภาพแวดล้อมการบันทึกส่วนใหญ่) - คำขอใด ๆ ที่ไม่ใช่ GET (POST หรือ PUT) ไปยัง
/wp-json/wc/store/products/collection-data
หรือ/?rest_route=/wc/store/products/collection-data
คำขอที่เราพบว่าใช้ช่องโหว่นี้มาจากที่อยู่ IP ต่อไปนี้ โดยมากกว่า 98% มาจากรายการแรกในรายการ หากคุณเห็นที่อยู่ IP เหล่านี้ในบันทึกการเข้าถึงของคุณ คุณควรถือว่าช่องโหว่นั้นกำลังถูกโจมตี:
-
137.116.119.175
-
162.158.78.41
-
103.233.135.21
ฉันต้องเปลี่ยนรหัสผ่านใด
ไม่น่าเป็นไปได้ที่รหัสผ่านของคุณจะถูกบุกรุกเมื่อถูกแฮช
รหัสผ่านผู้ใช้ WordPress ถูกแฮชโดยใช้เกลือ ซึ่งหมายความว่าค่าแฮชที่ได้นั้นยากต่อการถอดรหัส วิธีการแฮชแบบเค็มนี้ปกป้องรหัสผ่านของคุณในฐานะผู้ใช้ที่เป็นผู้ดูแลระบบ และรหัสผ่านของผู้ใช้รายอื่นในไซต์ของคุณ รวมถึงลูกค้าด้วย แม้ว่าจะเป็นไปได้ว่าเวอร์ชันที่แฮชของรหัสผ่านที่จัดเก็บไว้ในฐานข้อมูลของคุณอาจถูกเข้าถึงผ่านช่องโหว่นี้ ค่าแฮชควรมองไม่เห็นและยังปกป้องรหัสผ่านของคุณจากการใช้โดยไม่ได้รับอนุญาต
ถือว่าไซต์ของคุณใช้การจัดการรหัสผ่าน WordPress มาตรฐานสำหรับผู้ใช้ คุณอาจมีรหัสผ่านหรือข้อมูลที่ละเอียดอ่อนอื่นๆ ที่จัดเก็บไว้ในรูปแบบที่ปลอดภัยน้อยกว่า ทั้งนี้ขึ้นอยู่กับปลั๊กอินที่คุณติดตั้งบนไซต์ของคุณ
หากผู้ใช้ผู้ดูแลระบบคนใดในไซต์ของคุณอาจใช้รหัสผ่านเดียวกันซ้ำในหลายเว็บไซต์ เราขอแนะนำให้คุณอัปเดตรหัสผ่านเหล่านั้นในกรณีที่ข้อมูลประจำตัวของพวกเขาถูกบุกรุกที่อื่น
นอกจากนี้เรายังแนะนำให้เปลี่ยนข้อมูลส่วนตัวหรือข้อมูลลับที่จัดเก็บไว้ในฐานข้อมูล WordPress/WooCommerce ของคุณ ซึ่งอาจรวมถึงคีย์ API คีย์สาธารณะ/ส่วนตัวสำหรับเกตเวย์การชำระเงิน และอื่นๆ ขึ้นอยู่กับการกำหนดค่าร้านค้าเฉพาะของคุณ
ในฐานะผู้พัฒนาส่วนขยายหรือผู้ให้บริการ เราควรแจ้งเตือนผู้ค้า WooCommerce ของเราหรือไม่
หากคุณทำงานกับร้านค้าหรือผู้ค้า WooCommerce ใด ๆ เราขอแนะนำให้คุณทำงานร่วมกับพวกเขาเพื่อให้แน่ใจว่าพวกเขาทราบเกี่ยวกับปัญหานี้ และ/หรืออัปเดตร้านค้าของพวกเขาเป็นเวอร์ชันที่ปลอดภัย
หากคุณได้สร้างส่วนขยายหรือเสนอบริการ SaaS ที่อาศัย WooCommerce API เราขอแนะนำให้คุณช่วยผู้ค้ารีเซ็ตคีย์เพื่อเชื่อมต่อกับบริการของคุณ
ในฐานะเจ้าของร้าน ฉันควรแจ้งเตือนลูกค้าหรือไม่?
ไม่ว่าคุณจะแจ้งเตือนลูกค้าหรือไม่ก็ขึ้นอยู่กับคุณ ภาระหน้าที่ในการแจ้งให้ลูกค้าทราบหรือรีเซ็ตสิ่งต่างๆ เช่น รหัสผ่านจะแตกต่างกันไปตามรายละเอียด เช่น โครงสร้างพื้นฐานของไซต์ คุณและลูกค้าตั้งอยู่ตามภูมิศาสตร์ ข้อมูลใดที่ไซต์ของคุณเก็บรวบรวม และไซต์ของคุณถูกบุกรุกหรือไม่
การดำเนินการที่สำคัญที่สุดที่คุณสามารถทำได้เพื่อปกป้องลูกค้าของคุณคือการอัปเดตเวอร์ชันของ WooCommerce เป็นเวอร์ชันที่ได้รับการแก้ไขด้วยการแก้ไขสำหรับช่องโหว่นี้
หลังจากอัปเดต เราขอแนะนำ:
- การอัปเดตรหัสผ่านสำหรับผู้ใช้ผู้ดูแลระบบในไซต์ของคุณ โดยเฉพาะอย่างยิ่งหากคุณใช้รหัสผ่านเดียวกันซ้ำในหลายเว็บไซต์
- การหมุนคีย์เกตเวย์การชำระเงินและ WooCommerce API ที่ใช้บนไซต์ของคุณ
ในฐานะเจ้าของร้านค้า ในที่สุดการตัดสินใจของคุณว่าคุณต้องการใช้มาตรการป้องกันเพิ่มเติม เช่น การรีเซ็ตรหัสผ่านของลูกค้าของคุณ รหัสผ่านผู้ใช้ WordPress (และ WooCommerce) ถูกแฮชโดยใช้เกลือ ซึ่งหมายความว่าค่าแฮชที่ได้นั้นยากต่อการถอดรหัส วิธีการแฮชแบบเค็มนี้ใช้กับรหัสผ่านผู้ใช้ทั้งหมดบนไซต์ของคุณ รวมถึงรหัสผ่านของลูกค้าด้วย
WooCommerce ยังปลอดภัยต่อการใช้งานหรือไม่?
ใช่.
เหตุการณ์เช่นนี้ไม่ใช่เรื่องปกติ แต่น่าเสียดายที่บางครั้งมันก็เกิดขึ้น ความตั้งใจของเราคือตอบสนองทันทีและดำเนินการด้วยความโปร่งใสอย่างสมบูรณ์
นับตั้งแต่ทราบถึงช่องโหว่ ทีมงานได้ทำงานตลอดเวลาเพื่อให้แน่ใจว่ามีการแก้ไขและแจ้งให้ผู้ใช้ของเราทราบแล้ว
การลงทุนอย่างต่อเนื่องในการรักษาความปลอดภัยแพลตฟอร์มทำให้เราสามารถป้องกันปัญหาส่วนใหญ่ได้ แต่ในบางกรณีที่อาจส่งผลกระทบต่อร้านค้าได้ยากมาก เรามุ่งมั่นที่จะแก้ไขอย่างรวดเร็ว สื่อสารในเชิงรุก และทำงานร่วมกันกับชุมชน WooCommerce
จะเป็นอย่างไรหากฉันยังคงมีคำถาม
หากคุณมีข้อกังวลหรือคำถามเพิ่มเติมเกี่ยวกับปัญหานี้ ทีมวิศวกรแห่งความสุขของเราพร้อมให้ความช่วยเหลือ – เปิดตั๋วสนับสนุน