พบช่องโหว่ในปลั๊กอิน WordPress Gutenberg?
เผยแพร่แล้ว: 2022-08-03ฐานข้อมูลช่องโหว่แห่งชาติของรัฐบาลสหรัฐอเมริกาได้เผยแพร่การแจ้งเตือนเกี่ยวกับช่องโหว่ที่ค้นพบในปลั๊กอิน WordPress Gutenberg อย่างเป็นทางการ แต่ตามผู้ค้นพบ WordPress กล่าวว่าไม่ยอมรับว่าเป็นช่องโหว่
ช่องโหว่ Cross-Site Scripting (XSS) ที่เก็บไว้
XSS เป็นช่องโหว่ประเภทหนึ่งที่เกิดขึ้นเมื่อมีคนสามารถอัปโหลดบางสิ่ง เช่น สคริปต์ที่ปกติแล้วจะไม่ได้รับอนุญาตผ่านแบบฟอร์มหรือวิธีการอื่น
แบบฟอร์มส่วนใหญ่และข้อมูลที่ป้อนจากเว็บไซต์อื่นๆ จะตรวจสอบว่าสิ่งที่กำลังอัปเดตนั้นเป็นไปตามคาด และจะกรองไฟล์ที่เป็นอันตรายออก
ตัวอย่างคือแบบฟอร์มสำหรับการอัปโหลดภาพที่ล้มเหลวในการบล็อกผู้โจมตีจากการอัปโหลดสคริปต์ที่เป็นอันตราย
ตามโครงการ Open Web Application Security ที่ไม่หวังผลกำไร ซึ่งเป็นองค์กรที่มุ่งเน้นการช่วยปรับปรุงความปลอดภัยของซอฟต์แวร์ นี่คือสิ่งที่สามารถเกิดขึ้นได้กับการโจมตี XSS ที่ประสบความสำเร็จ:
“ผู้โจมตีสามารถใช้ XSS เพื่อส่งสคริปต์ที่เป็นอันตรายไปยังผู้ใช้ที่ไม่สงสัย
เบราว์เซอร์ของผู้ใช้ปลายทางไม่มีทางรู้ได้ว่าสคริปต์ไม่ควรเชื่อถือได้ และจะรันสคริปต์
เนื่องจากคิดว่าสคริปต์มาจากแหล่งที่เชื่อถือได้ สคริปต์ที่เป็นอันตรายจึงสามารถเข้าถึงคุกกี้ โทเค็นของเซสชัน หรือข้อมูลที่ละเอียดอ่อนอื่นๆ ที่เบราว์เซอร์เก็บไว้และใช้กับไซต์นั้นได้
สคริปต์เหล่านี้สามารถเขียนซ้ำเนื้อหาของหน้า HTML ได้”
ช่องโหว่และการเปิดเผยทั่วไป – CVE
องค์กรที่ชื่อ CVE ทำหน้าที่เป็นช่องทางในการจัดทำเอกสารเกี่ยวกับช่องโหว่และเผยแพร่สิ่งที่ค้นพบสู่สาธารณะ
องค์กรซึ่งกระทรวงความมั่นคงแห่งมาตุภูมิของสหรัฐฯ สนับสนุน จะตรวจสอบการค้นพบช่องโหว่ และหากได้รับการยอมรับ จะกำหนดหมายเลข CVE ให้กับช่องโหว่ซึ่งทำหน้าที่เป็นหมายเลขประจำตัวของช่องโหว่นั้น
การค้นพบช่องโหว่ใน Gutenberg
การวิจัยด้านความปลอดภัยค้นพบสิ่งที่เชื่อว่าเป็นช่องโหว่ การค้นพบถูกส่งไปยัง CVE และการค้นพบได้รับการอนุมัติและกำหนดหมายเลข CVE ID ทำให้การค้นพบนี้เป็นช่องโหว่อย่างเป็นทางการ
ช่องโหว่ XSS ได้รับหมายเลข ID CVE-2022-33994
รายงานช่องโหว่ที่เผยแพร่บนไซต์ CVE มีคำอธิบายนี้:
“ปลั๊กอิน Gutenberg จนถึง 13.7.3 สำหรับ WordPress ช่วยให้ XSS จัดเก็บโดยบทบาท Contributor ผ่านเอกสาร SVG ไปยังคุณสมบัติ “แทรกจาก URL”
หมายเหตุ: เพย์โหลด XSS ไม่ทำงานในบริบทของโดเมนของอินสแตนซ์ WordPress; อย่างไรก็ตาม ความพยายามที่คล้ายคลึงกันโดยผู้ใช้ที่มีสิทธิ์ต่ำในการอ้างอิงเอกสาร SVG ถูกบล็อกโดยผลิตภัณฑ์ที่คล้ายกันบางอย่าง และความแตกต่างด้านพฤติกรรมนี้อาจเกี่ยวข้องกับความปลอดภัยกับผู้ดูแลไซต์ WordPress บางราย”
นั่นหมายความว่าผู้ที่มีสิทธิ์ระดับ Contributor สามารถทำให้ไฟล์ที่เป็นอันตรายถูกแทรกลงในเว็บไซต์ได้

วิธีทำคือการแทรกรูปภาพผ่าน URL
ใน Gutenberg มีสามวิธีในการอัปโหลดรูปภาพ
- อัพโหลด
- เลือกรูปภาพที่มีอยู่จาก WordPress Media Libary
- แทรกรูปภาพจาก URL
วิธีสุดท้ายนั้นเป็นที่มาของช่องโหว่ เนื่องจากนักวิจัยด้านความปลอดภัยระบุว่าสามารถอัปโหลดรูปภาพที่มีชื่อไฟล์นามสกุลใดๆ ไปยัง WordPress ผ่าน URL ซึ่งฟีเจอร์การอัปโหลดไม่อนุญาต
เป็นช่องโหว่จริงหรือ?
นักวิจัยรายงานช่องโหว่ไปยัง WordPress แต่ตามที่ผู้ค้นพบ WordPress ไม่ยอมรับว่าเป็นช่องโหว่
นี่คือสิ่งที่ผู้วิจัยเขียนว่า:
“ฉันพบช่องโหว่ Stored Cross Site Scripting ใน WordPress ซึ่งถูกปฏิเสธและถูกระบุว่าเป็นข้อมูลโดยทีม WordPress
วันนี้เป็นวันที่ 45 ตั้งแต่ฉันรายงานช่องโหว่ แต่ช่องโหว่ยังไม่ได้รับการแก้ไขในขณะที่เขียนสิ่งนี้…”
ดังนั้นจึงดูเหมือนว่ามีคำถามว่า WordPress ถูกต้องและมูลนิธิ CVE ที่รัฐบาลสหรัฐฯ สนับสนุนนั้นผิด (หรือในทางกลับกัน) ว่านี่เป็นช่องโหว่ XSS หรือไม่
นักวิจัยยืนยันว่านี่เป็นช่องโหว่ที่แท้จริงและเสนอการยอมรับ CVE เพื่อตรวจสอบการอ้างสิทธิ์นั้น
นอกจากนี้ ผู้วิจัยยังกล่าวเป็นนัยหรือแนะนำว่าสถานการณ์ที่ปลั๊กอิน WordPress Gutenberg อนุญาตให้อัปโหลดภาพผ่าน URL อาจไม่ใช่แนวทางปฏิบัติที่ดี โดยสังเกตว่าบริษัทอื่นไม่อนุญาตให้อัปโหลดประเภทดังกล่าว
“ถ้าเป็นเช่นนั้น บอกฉันทีว่าทำไม… …บริษัทอย่าง Google และ Slack ได้ตรวจสอบไฟล์ที่โหลดผ่าน URL และปฏิเสธไฟล์หากพบว่าเป็น SVG!
…Google และ Slack… ไม่อนุญาตให้โหลดไฟล์ SVG ผ่าน URL ที่ WordPress ทำ!”
จะทำอย่างไร?
WordPress ไม่ได้ออกวิธีแก้ไขสำหรับช่องโหว่นี้ เนื่องจากดูเหมือนไม่เชื่อว่าเป็นช่องโหว่หรือปัญหาที่ทำให้เกิดปัญหา
รายงานช่องโหว่อย่างเป็นทางการระบุว่า Gutenberg เวอร์ชันถึง 13.7.3 มีช่องโหว่
แต่ 13.7.3 เป็นเวอร์ชันล่าสุด
ตามบันทึกการเปลี่ยนแปลงอย่างเป็นทางการของ WordPress Gutenberg ที่บันทึกการเปลี่ยนแปลงที่ผ่านมาทั้งหมดและเผยแพร่คำอธิบายของการเปลี่ยนแปลงในอนาคตด้วย ไม่มีการแก้ไขสำหรับช่องโหว่นี้ (ที่ถูกกล่าวหา) และไม่มีการวางแผนใดๆ
ดังนั้นคำถามก็คือว่ามีอะไรให้แก้ไขหรือไม่
การอ้างอิง
รายงานฐานข้อมูลช่องโหว่ของรัฐบาลสหรัฐฯ เกี่ยวกับช่องโหว่นี้
CVE-2022-33994 รายละเอียด
รายงานเผยแพร่บนเว็บไซต์ CVE อย่างเป็นทางการ
CVE-2022-33994 รายละเอียด
อ่านผลการวิจัยของผู้วิจัย
CVE-2022-33994: - XSS ที่เก็บไว้ใน WordPress
ภาพเด่นโดย Shutterstock/Kues
