ช่องโหว่ Security Vulnerability ใน Easy Digital Downloads — CVE-2026-120538 (CVSS 8.1)
📋 สรุปช่องโหว่
ช่องโหว่ Security Vulnerability ใน WordPress Plugin "Easy Digital Downloads" ถูกค้นพบและรายงานใน NVD โดยมี CVSS Score 8.1 ระดับ "สูง"
รายละเอียดต้นฉบับ (EN): The Easy Digital Downloads plugin for WordPress is vulnerable to authentication bypass leading to administrator account takeover in all versions up to, and including, 3.7.2. During a PayPal guest checkout, the email address entered in the guest-checkout field is trusted as proof of identity: edd_get
ผู้ดูแลระบบที่ใช้ซอฟต์แวร์ที่ได้รับผลกระทบควรตรวจสอบและอัพเดตโดยเร็ว
💥 ผลกระทบที่อาจเกิดขึ้น
ผลกระทบขึ้นอยู่กับประเภทและบริบทการใช้งาน:
• ระดับความรุนแรง CVSS 8.1 (สูง) บ่งชี้ว่าช่องโหว่นี้อาจส่งผลต่อความปลอดภัยของระบบในระดับสูง
• ผู้โจมตีอาจใช้ประโยชน์จากช่องโหว่นี้เพื่อเข้าถึง แก้ไข หรือทำลายข้อมูลในระบบ
• ดูรายละเอียดผลกระทบเฉพาะที่ https://nvd.nist.gov/vuln/detail/CVE-2026-120538
🖥️ ซอฟต์แวร์และระบบที่ได้รับผลกระทบ
WordPress Plugin: Easy Digital Downloads
ตรวจสอบเวอร์ชันที่ได้รับผลกระทบและข้อมูลเพิ่มเติมที่ https://nvd.nist.gov/vuln/detail/CVE-2026-120538
🔧 แนวทางการแก้ไขและป้องกัน
- ขั้นตอนแก้ไขทั่วไป:
- 1. ตรวจสอบ Vendor Advisory: เข้าไปที่เว็บไซต์ vendor หรือ https://nvd.nist.gov/vuln/detail/CVE-2026-120538 เพื่อดู patch อย่างเป็นทางการ
- 2. อัพเดตเป็นเวอร์ชันล่าสุด: ติดตั้งเวอร์ชันที่แก้ไขช่องโหว่แล้วทันที
- 3. ตรวจสอบ Logs: ดู system log และ access log หาร่องรอยการโจมตีที่อาจเกิดขึ้นแล้ว
- 4. ติดตั้ง Security Monitoring: ใช้ WAF หรือ IDS เพื่อ monitor การโจมตี
- 5. Backup ข้อมูล: สำรองข้อมูลสำคัญก่อนทำการเปลี่ยนแปลงใดๆ
- 6. แจ้งทีมงาน: แจ้งให้ทีม IT security ทราบเพื่อวางแผนรับมือ
📄 รายละเอียดต้นฉบับ (ภาษาอังกฤษ)
The Easy Digital Downloads plugin for WordPress is vulnerable to authentication bypass leading to administrator account takeover in all versions up to, and including, 3.7.2. During a PayPal guest checkout, the email address entered in the guest-checkout field is trusted as proof of identity: edd_get_purchase_form_user() binds the new guest order to an existing WordPress user purely on an email-address match, rewriting the order's user_id to that user's ID. The PayPal capture sink PurchaseUser::maybe_log_in_after_capture() then looked the user up by the order email (get_user_by( 'email', $order->email )) and, when $order->user_id equalled that user's ID (which the email-binding step guarantees), issued an authenticated session with wp_set_auth_cookie(). An unauthenticated attacker who starts a guest checkout using an administrator's email address (where that administrator has no existing EDD customer record) and completes the PayPal purchase flow therefore receives an authenticated session as that administrator — a full account takeover. The same sink is reachable through the standard PayPal checkout and the REST UnbrandedCard and Fastlane flows.