Metabase เสี่ยงยึดสิทธิ์แอดมินผ่าน SQL Injection CVE-2026-72898
ผู้ดูแลระบบที่ติดตั้ง Metabase เองต้องตรวจรุ่นและแพตช์ทันที เพราะมีการโจมตีจริงแล้ว
1-minute summary
- Symptom / problem
- ผู้โจมตีจากระยะไกลที่ไม่ต้องล็อกอินอาจแทรก SQL แล้วยึดสิทธิ์ผู้ดูแล Metabase ได้
- Who should read
- ผู้ดูแลระบบที่ติดตั้ง Metabase เองในสายรุ่น 58–63 ต้องตรวจสอบและอัปเดตตามรุ่นที่ใช้งาน
- Fix in short
- อัปเดตเป็น 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 เดี๋ยวกลับมาแก้เพิ่มให้ภายหลังครับ
Want us to set this up?
Get help with server setup, configuration, migration, or troubleshooting. Save time for the work that matters.
Hit something like this? Stuck somewhere?
Come trade notes on the LinuxThai board



Comments 0
No comments yet — be the first