Clear
Lead Graphic Papers

ระวังภัย ช่องโหว่ใน MySQL/MariaDB อนุญาตให้ล็อกอินได้โดยไม่ต้องรู้รหัสผ่าน

วันที่ประกาศ: 11 มิถุนายน 2555
ปรับปรุงล่าสุด: 11 มิถุนายน 2555
เรื่อง: ระวังภัย ช่องโหว่ใน MySQL/MariaDB อนุญาตให้ล็อกอินได้โดยไม่ต้องรู้รหัสผ่าน

ประเภทภัยคุกคาม: Intrusion

Share on Facebook Share on Twitter Share on Google+

ข้อมูลทั่วไป

นักพัฒนาจาก MariaDB ได้ค้นพบช่องโหว่ในโปรแกรม MySQL และ MariaDB (MySQL เวอร์ชั่นที่ถูกแยกออกไปพัฒนาต่อโดยนักพัฒนาภายนอก) ซึ่งทำให้ผู้ใช้สามารถล็อกอินโดยใช้รหัสผ่านที่ไม่ถูกต้องได้ (CVE2012-2122) [1]

ช่องโหว่ดังกล่าวเกิดจากข้อผิดพลาดของฟังก์ชัน memcmp() ที่ใช้ในการตรวจสอบรหัสผ่านที่รับเข้ามา ซึ่งมีบางกรณีที่ผลลัพธ์ของฟังก์ชันได้ค่าที่ไม่คาดคิด ทำให้โปรแกรม MySQL/MariaDB มองว่ารหัสผ่านที่รับเข้ามานั้นถูกต้อง ถึงแม้ที่จริงแล้วรหัสผ่านนั้นจะไม่ถูกต้องก็ตาม

ผลกระทบ

หากมีผู้ใช้ที่เชื่อมต่อเข้ามาในระบบโดยป้อนชื่อผู้ใช้และรหัสผ่านอะไรก็ได้ เข้ามาซ้ำๆ กันหลายๆ ครั้ง ก็มีโอกาสที่จะผ่านเข้ามาในระบบได้ โดยส่วนใหญ่แล้ว ระบบที่ติดตั้ง MySQL/MariaDB จะใช้ชื่อผู้ใช้ว่า root เป็นค่าเริ่มต้น ซึ่งชื่อผู้ใช้ดังกล่าวมีสิทธิ์สูงสุดในระบบ ทำให้ใครก็ตามที่สามารถล็อกอินโดยใช้ชื่อผู้ใช้ดังกล่าวได้ ก็จะได้รับสิทธิ์ทั้งหมดของระบบฐานข้อมูลนั้นโดยทันที

ระบบที่ได้รับผลกระทบ

  • MySQL และ MariaDB เวอร์ชั่น 5.1.61, 5.2.11, 5.3.5, 5.5.22 และต่ำกว่า
  • MySQL เวอร์ชั่นตั้งแต่ 5.1.63, 5.5.24, 5.6.6 เป็นต้นไปไม่ได้รับผลกระทบ
  • MariaDB เวอร์ชั่นตั้งแต่ 5.1.62, 5.2.12, 5.3.6, 5.5.23 เป็นต้นไปไม่ได้รับผลกระทบ
อย่างไรก็ตาม ข้อผิดพลาดดังกล่าวเกิดได้เฉพาะ MySQL และ MariaDB ที่คอมไพล์โดยใช้ glibc บนระบบปฏิบัติการ Linux เท่านั้น ไฟล์ไบนารีของ MySQL และ MariaDB ที่มีให้ดาวน์โหลดในเว็บไซต์ของผู้พัฒนาจะไม่มีช่องโหว่ดังกล่าวนี้

ข้อแนะนำในการป้องกันและแก้ไข

ผู้ใช้งานโปรแกรม MySQL/MariaDB เวอร์ชันที่มีช่องโหว่ หากเป็นไปได้ ควรทำการอัพเดทโปรแกรมให้เป็นเวอร์ชันปัจจุบันโดยเร็วที่สุด

หากไม่สามารถอัพเดตได้ ผู้ใช้ควรตั้งค่าการเชื่อมต่อให้เข้ามาได้เฉพาะ localhost เพียงอย่างเดียว ด้วยการแก้ไขไฟล์ my.cnf ในส่วน [mysqld] กำหนดค่า "bind-address" ให้เป็น "127.0.0.1" จากนั้น Restart เซอร์วิสของ MySQL เพื่อให้การตั้งค่าใหม่มีผล [2]

อ้างอิง

  1. http://seclists.org/oss-sec/2012/q2/493
  2. http://thehackernews.com/2012/06/cve-2012-2122-serious-mysql.html
Clear