ตรวจพบช่องโหว่ที่สำคัญใน 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

จะเป็นอย่างไรหากฉันยังคงมีคำถาม

หากคุณมีข้อกังวลหรือคำถามเพิ่มเติมเกี่ยวกับปัญหานี้ ทีมวิศวกรแห่งความสุขของเราพร้อมให้ความช่วยเหลือ – เปิดตั๋วสนับสนุน