ช่องโหว่ Stored XSS (Persistent) ใน WordPress Plugin "VikRentCar Car Rental Management System" — CVE-2026-115840 (CVSS 7.2)
📋 สรุปช่องโหว่
ช่องโหว่ Stored XSS (Persistent) ถูกค้นพบในWordPress Plugin "VikRentCar Car Rental Management System" โดยมี CVSS Score 7.2 ระดับ "สูง"
ช่องโหว่ XSS เกิดจากการที่ระบบไม่ได้กรองข้อมูลที่ผู้ใช้ป้อนเข้ามาอย่างเหมาะสม ทำให้ผู้โจมตีสามารถฉีด JavaScript อันตรายเข้าไปในหน้าเว็บได้ เมื่อผู้ใช้รายอื่นเปิดหน้าเว็บนั้น script จะถูกรันในเบราว์เซอร์ของเหยื่อโดยอัตโนมัติ
การโจมตีนี้ไม่จำเป็นต้องล็อกอิน ผู้ดูแลระบบที่ใช้WordPress Plugin "VikRentCar Car Rental Management System" และยังไม่ได้อัพเดตควรดำเนินการทันที
💥 ผลกระทบที่อาจเกิดขึ้น
ผู้โจมตีสามารถ:
• ขโมย Session Cookie: ดึง session token ของ admin เพื่อเข้าสู่ระบบโดยไม่ต้องรู้รหัสผ่าน
• Hijack บัญชี Admin: สร้าง admin ใหม่หรือเปลี่ยนรหัสผ่าน
• ฝัง Malware/Phishing: redirect ผู้เข้าชมไปเว็บอันตราย หรือแสดง form ปลอม
• ขโมยข้อมูลในฟอร์ม: ดักข้อมูล email รหัสผ่าน ข้อมูลบัตรเครดิต
• Defacement: เปลี่ยนหน้าตาเว็บไซต์
• Drive-by Download: บังคับดาวน์โหลดไฟล์อันตราย
🖥️ ซอฟต์แวร์และระบบที่ได้รับผลกระทบ
WordPress Plugin: VikRentCar Car Rental Management System
ตรวจสอบที่ https://nvd.nist.gov/vuln/detail/CVE-2026-115840
1. เปิด Dashboard > Plugins
2. ค้นหา "VikRentCar Car Rental Management System" ดูเวอร์ชัน
3. เปรียบเทียบกับ NVD
🔧 แนวทางการแก้ไขและป้องกัน
- ขั้นตอนแก้ไข:
- 1. อัพเดตทันที: อัพเดต "VikRentCar Car Rental Management System"เป็นเวอร์ชันล่าสุด
- 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 VikRentCar Car Rental Management System plugin for WordPress is vulnerable to Stored Cross-Site Scripting via the 'poplink' parameter in all versions up to, and including, 1.4.9 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. The handler requires only a WordPress nonce (vikwp_nonce), which the plugin itself emits to unauthenticated visitors on the public booking-confirmation page, allowing an attacker to obtain a valid token without any account.