CVE-2026-110530 CVSS 7.2 — HIGH wordpress เผยแพร่: 2026-10-31

ช่องโหว่ Stored XSS (Persistent) ใน WordPress Plugin "FeedWordPress" — CVE-2026-110530 (CVSS 7.2)

⚠️ ระดับสูง (CVSS 7.2) — ควรแก้ไขภายใน 48-72 ชั่วโมง

📋 สรุปช่องโหว่

ช่องโหว่ Stored XSS (Persistent) ถูกค้นพบในWordPress Plugin "FeedWordPress" โดยมี CVSS Score 7.2 ระดับ "สูง"

ช่องโหว่ XSS เกิดจากการที่ระบบไม่ได้กรองข้อมูลที่ผู้ใช้ป้อนเข้ามาอย่างเหมาะสม ทำให้ผู้โจมตีสามารถฉีด JavaScript อันตรายเข้าไปในหน้าเว็บได้ เมื่อผู้ใช้รายอื่นเปิดหน้าเว็บนั้น script จะถูกรันในเบราว์เซอร์ของเหยื่อโดยอัตโนมัติ

การโจมตีนี้ไม่จำเป็นต้องล็อกอิน ผู้ดูแลระบบที่ใช้WordPress Plugin "FeedWordPress" และยังไม่ได้อัพเดตควรดำเนินการทันที

💥 ผลกระทบที่อาจเกิดขึ้น

ผู้โจมตีสามารถ:

• ขโมย Session Cookie: ดึง session token ของ admin เพื่อเข้าสู่ระบบโดยไม่ต้องรู้รหัสผ่าน
• Hijack บัญชี Admin: สร้าง admin ใหม่หรือเปลี่ยนรหัสผ่าน
• ฝัง Malware/Phishing: redirect ผู้เข้าชมไปเว็บอันตราย หรือแสดง form ปลอม
• ขโมยข้อมูลในฟอร์ม: ดักข้อมูล email รหัสผ่าน ข้อมูลบัตรเครดิต
• Defacement: เปลี่ยนหน้าตาเว็บไซต์
• Drive-by Download: บังคับดาวน์โหลดไฟล์อันตราย

🖥️ ซอฟต์แวร์และระบบที่ได้รับผลกระทบ

WordPress Plugin: FeedWordPress

ตรวจสอบที่ https://nvd.nist.gov/vuln/detail/CVE-2026-110530

1. เปิด Dashboard > Plugins
2. ค้นหา "FeedWordPress" ดูเวอร์ชัน
3. เปรียบเทียบกับ NVD

🔧 แนวทางการแก้ไขและป้องกัน

  • ขั้นตอนแก้ไข:
  • 1. อัพเดตทันที: อัพเดต "FeedWordPress"เป็นเวอร์ชันล่าสุด
  • 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 FeedWordPress plugin for WordPress is vulnerable to Stored Cross-Site Scripting in versions up to, and including, 2026.0517 via syndicated RSS/Atom feed content. The plugin's SyndicatedPost::sanitize_content() function only strips the 'target' attribute (the lines that would strip 'style' and 'on[a-z]+' event-handler attributes are commented out), and SyndicatedPost::insert_post() deliberately removes WordPress's wp_filter_kses and wp_filter_post_kses filters from content_save_pre before persisting imported feed items via wp_insert_post(). This makes it possible for unauthenticated attackers who control an external feed that a site has already subscribed to to inject arbitrary web scripts in pages that will execute whenever a user accesses an injected page.

🔗 แหล่งอ้างอิง