จากการทดสอบแอปพลิเคชันจัดการและตรวจสอบบันทึก (log) ยอดนิยม Nagios Log Server เวอร์ชัน 2.1.6 (ล่าสุดในขณะทดสอบ) เราพบว่ามันเปราะบางต่อการโจมตี Stored XSS
CVE ID: CVE-2020-16157
สรุป
Nagios Log Server เป็นซอฟต์แวร์จัดการบันทึกแบบรวมศูนย์ (Centralized Log Management), ตรวจสอบและวิเคราะห์ที่นิยม ซึ่งช่วยให้องค์กรสามารถดู, จัดเรียง, และกำหนดค่าบันทึกได้ เวอร์ชัน 2.1.6 ของแอปพลิเคชันนี้พบว่าเปราะบางต่อ Stored XSS
การโจมตี Cross-Site Scripting แบบจัดเก็บ (Stored XSS) เกิดจากผู้โจมตีฉีดสคริปต์ (ที่เรียกว่า payload) ที่ถูกจัดเก็บถาวร (persisted) บนแอปพลิเคชันเป้าหมาย (เช่น ภายในฐานข้อมูล) ตัวอย่างคลาสสิกคือสคริปต์อันตรายที่ผู้โจมตีแทรกในฟิลด์ความคิดเห็นบนบล็อกหรือในโพสต์ฟอรั่ม
ผลกระทบ
ผู้โจมตี (ในกรณีนี้เป็นผู้ใช้ทั่วไปที่ผ่านการยืนยันตัวตน) สามารถใช้ช่องโหว่ร้ายแรงนี้เพื่อรัน JavaScript อันตรายที่มุ่งขโมยคุกกี้ เปลี่ยนเส้นทางผู้ใช้ ดำเนินการตามชื่อเหยื่อ (ในกรณีนี้คือแอดมิน) บันทึกการกดแป้นพิมพ์ และอื่นๆ อีกมากมาย
ผู้โจมตีไม่จำเป็นต้องหาวิธีภายนอกในการกระตุ้นผู้ใช้คนอื่นให้สร้างคำขอพิเศษที่มี exploit ของพวกเขา แต่ผู้โจมตีวาง exploit ของพวกเขาไว้ในแอปพลิเคชันเอง และเพียงแค่รอให้เหยื่อพบเจอ
ช่องโหว่
ฟิลด์ Full Name หรือ Username ในหน้า /profile หรือหน้า /admin/users/create เปราะบางต่อ Stored XSS เมื่อบันทึก payload ในฟิลด์เหล่านี้ ให้ไปที่หน้า Alerting (/alerts) และสร้างการแจ้งเตือนใหม่ แล้วเลือก Email Users เป็น Notification Method เมื่อแสดงรายชื่อผู้ใช้ จะเห็นว่า payload ถูกรันตามภาพด้านล่าง
เส้นเวลา
- รายงานช่องโหว่ให้ทีม Nagios วันที่ 8 กรกฎาคม 2020
- Nagios Log Server 2.1.7 ที่มีการแก้ไขช่องโหว่เผยแพร่เมื่อวันที่ 28 กรกฎาคม 2020
คำแนะนำ
ขอแนะนำให้อัปเดตแอปพลิเคชันเป็นเวอร์ชันล่าสุดอย่างยิ่ง
อ้างอิง
- https://www.nagios.com/downloads/nagios-log-server/change-log/
- https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-16157
- https://nvd.nist.gov/vuln/detail/CVE-2020-16157