Metabase เสี่ยงยึดสิทธิ์แอดมินผ่าน SQL Injection CVE-2026-72898
ผู้ดูแลระบบที่ติดตั้ง Metabase เองต้องตรวจรุ่นและแพตช์ทันที เพราะมีการโจมตีจริงแล้ว
สรุปใน 1 นาที
- อาการ/ปัญหา
- ผู้โจมตีจากระยะไกลที่ไม่ต้องล็อกอินอาจแทรก SQL แล้วยึดสิทธิ์ผู้ดูแล Metabase ได้
- ใครควรอ่าน
- ผู้ดูแลระบบที่ติดตั้ง Metabase เองในสายรุ่น 58–63 ต้องตรวจสอบและอัปเดตตามรุ่นที่ใช้งาน
- ทางแก้แบบสั้น
- อัปเดตเป็น x.58.24, x.59.21, x.60.17, x.61.11, x.62.9 หรือ x.63.5 ตามสายรุ่น และตรวจการบุกรุกหากเปิด endpoint สู่สาธารณะ
พอดีไล่ฟีด CISA KEV เจอประกาศ Metabase หมายเลข CVE-2026-72898 ซึ่งต้องรีบจัดการ เพราะผู้ผลิตยืนยันว่ามีการโจมตีจริงแล้ว CISA เพิ่มรายการเมื่อ 11 สิงหาคม 2026 และกำหนดวันครบกำหนดแก้ไขไว้ที่ 14 สิงหาคม 2026 ใครติดตั้ง Metabase เองควรตรวจรุ่นและดำเนินการทันที (ข้อมูล KEV ของ CISA)
ใครต้องทำอะไร
- ผู้ดูแลระบบ: ถ้าติดตั้ง Metabase เองในรุ่นที่ได้รับผลกระทบ ให้อัปเดตทันทีและตรวจร่องรอยการบุกรุกหากเปิดบริการให้เข้าถึงจากภายนอก
เกิดอะไรขึ้น
ช่องโหว่อยู่ที่ endpoint /api/session/reset_password ผู้โจมตีไม่ต้องมีบัญชีหรือรอให้ผู้ใช้กดอะไร ก็อาจแทรก SQL ลงในฐานข้อมูลของตัว Metabase ได้ จากนั้นอาจได้สิทธิ์ผู้ดูแลระบบ ผู้ผลิตจัดระดับ Critical และให้คะแนน CVSS 3.1 เท่ากับ 10.0 (ประกาศผู้ผลิต GHSA-vwf4-m7j8-wcjf)
เมื่อได้สิทธิ์แล้ว ผู้โจมตีอาจเปลี่ยนการตั้งค่าและขโมยข้อมูลสำหรับเชื่อมต่อฐานข้อมูลได้ รวมถึงอ่านและส่งออกข้อมูลที่ Metabase มีสิทธิ์เข้าถึง ผลกระทบเลยอาจลามไปถึงฐานข้อมูลที่นำมาทำรายงาน (รายละเอียดจาก CISA KEV)
ใครโดนและรุ่นที่แก้
ตารางใช้ช่วงรุ่นจาก CVE record และรุ่นปลอดภัยขั้นต่ำที่ผู้ผลิตระบุ โดย x คือ 0 สำหรับ OSS และ 1 สำหรับ Enterprise เช่น x.63.5 หมายถึง 0.63.5 หรือ 1.63.5 ตาม edition ที่ใช้งาน
| สายรุ่น | ช่วงที่ได้รับผลกระทบ | รุ่นที่แก้ขั้นต่ำ |
|---|---|---|
| 58 | ตั้งแต่ x.58.0 แต่ต่ำกว่า x.58.24 | x.58.24 |
| 59 | ตั้งแต่ x.59.0 แต่ต่ำกว่า x.59.21 | x.59.21 |
| 60 | ตั้งแต่ x.60.0 แต่ต่ำกว่า x.60.17 | x.60.17 |
| 61 | ตั้งแต่ x.61.0 แต่ต่ำกว่า x.61.11 | x.61.11 |
| 62 | ตั้งแต่ x.62.0 แต่ต่ำกว่า x.62.9 | x.62.9 |
| 63 | ตั้งแต่ x.63.0 แต่ต่ำกว่า x.63.5 | x.63.5 |
ข้อมูลช่วงรุ่นไม่ตรงกัน: ช่อง Affected versions ใน GitHub advisory ใช้ขอบบน <x.58.23, <x.59.20, <x.60.16, <x.61.10, <x.62.8 และ <x.63.3 แต่ CVE record ใช้ช่วงที่กว้างกว่าตามตาราง ทั้งสองแหล่งระบุรุ่นแก้ตรงกัน เลยควรอัปเดตให้ถึงรุ่นแก้ที่ระบุ
ผู้ผลิตระบุว่ารุ่นก่อนสาย 58 ไม่ได้รับผลกระทบ และ Metabase Cloud ได้รับแพตช์แล้ว (ประกาศอัปเดตของ Metabase)
ต้องทำอะไร
เริ่มจากดูเลขรุ่นในเมนู About Metabase หรือ Help > About Metabase แล้วอัปเดตตามวิธีติดตั้งเดิมให้ถึงรุ่นที่แก้ในสายเดียวกัน ผู้ผลิตมีลิงก์ทั้ง JAR และ Docker แยกตามรุ่นและ edition ใน advisory (รายการดาวน์โหลดรุ่นที่แก้)
ผู้ผลิตแนะนำให้บล็อก endpoint /api/session/reset_password ชั่วคราวหากยังอัปเดตไม่ได้ และยังต้องอัปเดตให้ครบหลังจากนั้น
ถ้า endpoint นี้เปิดให้เข้าถึงจากสาธารณะ ผู้ผลิตแนะนำให้ทำต่อหลังอัปเดตดังนี้
- ยกเลิก session ผู้ใช้ทั้งหมด โดยผู้ดูแลฐานข้อมูลแอปพลิเคชันลบแถวทั้งหมดในตาราง
core_session - ตรวจ API keys และลบ key ที่ไม่รู้จัก พร้อมตรวจบัญชีผู้ดูแลว่ามีการเปลี่ยนแปลงผิดปกติหรือไม่
- เปลี่ยนข้อมูลรับรองของฐานข้อมูลทุกตัวที่เชื่อมต่อกับ Metabase
- ตรวจ log ของ data warehouse รวมทั้งกิจกรรมและประวัติ query ใน Metabase เพื่อหาร่องรอยการเข้าถึงโดยไม่ได้รับอนุญาต
ผู้ผลิตให้ตรวจ log หา POST /api/session/reset_password ที่ได้สถานะ 400 ตามด้วย GET /api/user/current ที่ได้สถานะ 200 ถ้าพบลำดับนี้ใน application log หรือ ingress log ระบบมีแนวโน้มถูกบุกรุกแล้ว ต้องตรวจเหตุการณ์ต่อแม้อัปเดตสำเร็จ (รายละเอียดจากผู้ผลิต)
ส่วนตัวผมให้เคสนี้แพตช์ทันที โดยเฉพาะบริการที่เปิดสู่สาธารณะ เพราะมีการโจมตีจริงและเข้าถึงข้อมูลต่อได้ ที่มา: CVE-2026-72898, CISA KEV และ Metabase Security Advisory เดี๋ยวกลับมาแก้เพิ่มให้ภายหลังครับ
อยากให้เราทำให้ไหม?
ให้เราช่วยติดตั้ง ตั้งค่า ย้ายระบบ หรือแก้ปัญหาเซิร์ฟเวอร์ เพื่อให้คุณมีเวลาไปทำงานที่สำคัญกว่า
เคยเจองานแบบนี้ไหม? ติดตรงไหน?
มาแลกวิธีกันต่อในบอร์ด LinuxThai



ความคิดเห็น 0
ยังไม่มีความคิดเห็น — เป็นคนแรกเลย