ช่องโหว่ Stored XSS (Persistent) ใน WordPress Plugin "Debug Log Manager – Conveniently Monitor and Inspect Errors" — CVE-2026-120114 (CVSS 7.2)
📋 สรุปช่องโหว่
ช่องโหว่ Stored XSS (Persistent) ถูกค้นพบในWordPress Plugin "Debug Log Manager – Conveniently Monitor and Inspect Errors" โดยมี CVSS Score 7.2 ระดับ "สูง"
ช่องโหว่ XSS เกิดจากการที่ระบบไม่ได้กรองข้อมูลที่ผู้ใช้ป้อนเข้ามาอย่างเหมาะสม ทำให้ผู้โจมตีสามารถฉีด JavaScript อันตรายเข้าไปในหน้าเว็บได้ เมื่อผู้ใช้รายอื่นเปิดหน้าเว็บนั้น script จะถูกรันในเบราว์เซอร์ของเหยื่อโดยอัตโนมัติ
การโจมตีนี้ไม่จำเป็นต้องล็อกอิน ผู้ดูแลระบบที่ใช้WordPress Plugin "Debug Log Manager – Conveniently Monitor and Inspect Errors" และยังไม่ได้อัพเดตควรดำเนินการทันที
💥 ผลกระทบที่อาจเกิดขึ้น
ผู้โจมตีสามารถ:
• ขโมย Session Cookie: ดึง session token ของ admin เพื่อเข้าสู่ระบบโดยไม่ต้องรู้รหัสผ่าน
• Hijack บัญชี Admin: สร้าง admin ใหม่หรือเปลี่ยนรหัสผ่าน
• ฝัง Malware/Phishing: redirect ผู้เข้าชมไปเว็บอันตราย หรือแสดง form ปลอม
• ขโมยข้อมูลในฟอร์ม: ดักข้อมูล email รหัสผ่าน ข้อมูลบัตรเครดิต
• Defacement: เปลี่ยนหน้าตาเว็บไซต์
• Drive-by Download: บังคับดาวน์โหลดไฟล์อันตราย
🖥️ ซอฟต์แวร์และระบบที่ได้รับผลกระทบ
WordPress Plugin: Debug Log Manager – Conveniently Monitor and Inspect Errors
ตรวจสอบที่ https://nvd.nist.gov/vuln/detail/CVE-2026-120114
1. เปิด Dashboard > Plugins
2. ค้นหา "Debug Log Manager – Conveniently Monitor and Inspect Errors" ดูเวอร์ชัน
3. เปรียบเทียบกับ NVD
🔧 แนวทางการแก้ไขและป้องกัน
- ขั้นตอนแก้ไข:
- 1. อัพเดตทันที: อัพเดต "Debug Log Manager – Conveniently Monitor and Inspect Errors"เป็นเวอร์ชันล่าสุด
- 2. ปิด Plugin ชั่วคราว: หากยังไม่มี patch
- 3. ตรวจสอบ Logs: หา <script>, javascript:, onerror= ใน access log
- 4. ติดตั้ง WAF: ใช้ Wordfence หรือ Cloudflare WAF
- 5. Content Security Policy: ตั้ง HTTP header เพื่อจำกัด script
- 6. ตรวจสอบ User Accounts: ดูว่ามี admin ที่ไม่รู้จักหรือไม่
- 7. เปลี่ยนรหัสผ่าน: เปลี่ยน admin password ทุกบัญชี
- 8. ล้าง Cache: ล้าง plugin cache หลังอัพเดต
📄 รายละเอียดต้นฉบับ (ภาษาอังกฤษ)
The Debug Log Manager – Conveniently Monitor and Inspect Errors plugin for WordPress is vulnerable to Stored Cross-Site Scripting via the 'message (and pageUrl)' parameter in all versions up to, and including, 2.5.2 due to insufficient input sanitization and output escaping. This makes it possible for unauthenticated attackers to inject arbitrary web scripts in pages that will execute whenever a user accesses an injected page. Successful exploitation requires that the site administrator has debug logging enabled with JS error logging active, and that the attacker can obtain the publicly emitted dlmVars.jsErrorLogging nonce — which is broadcast on every frontend page — to pass the nonce check on the unauthenticated endpoint.