Sucuri พบช่องโหว่ SQL Injection และมี Security Researcher พบ XSS ใน plugin เก็บรายละเอียดการใช้งานของผู้ใช้ที่ชื่อว่า WP Statistics ซึ่งเป็น plugin ที่ได้รับความนิยมอย่างมากโดยพบว่ามีการใช้งานอยู่ในเว็บไซด์ถึง 300,000 กว่าเว็บไซด์

Sucuri พบว่าในส่วนหลังจาก login เรียบร้อย user admin สามารถที่จะดึงข้อมูลของผู้เข้าเว็บไซด์ได้ผ่าน code ตามด้านล่าง

จากภาพจะเห็นว่า wpstatistics ในส่วนหน้า “includes/functions/functions.php” สามารถเข้าถึงได้ผ่าน  WordPress’ AJAX functionality ซึ่ง function ดังกล่าวไม่ได้มีการตรวจสอบสิทธิ์ของผู้ใช้งาน อนุญาตให้ใครก็สามารถเขียนไปติดต่อผ่าน API ได้เลย ซึ่งเมื่อลองตรวจสอบแล้วพบว่าใน wp_statistics_searchengine_query() มี code ส่วนการ SQL Query ที่ไม่ปลอดภัย ทำให้เกิด SQL Injection ขึ้น โดย version ที่ได้รับผลกระทบคือ version < 12.0.8

อีกช่องโหว่ที่มี Security Researcher พบคือช่องโหว่ XSS ดังกล่าวจำเป็นต้องเป็นเว็บไซด์ที่ต้องเข้าสู่ระบบ (authentication) ก่อน โดย WP Statistics ที่เป็น version น้อยกว่า 12.0.8.1 จะได้รับผลกระทบดังกล่าว การโจมตีจะกระทำผ่านตัวแปร ‘ip’  จาก page ‘wps_visitors_page’

Proof of Concept (PoC):

ตัวอย่าง: http://mywordpress.com/wp-admin/admin.php?page=wps_visitors_page&ip=%27%3E%3Cimg+src%3Dx+onerror%3Dalert%281%29%3E%3C%22

ผลกระทบ: SQL Injection, XSS
ระบบที่ได้รับผลกระทบ: WP Statistics version < 12.0.8.1
วิธีแก้ไข: Update version > 12.0.8.1

References: