【ยืนยันการทำซ้ำได้แล้ว】แจ้งเตือนความเสี่ยงด้านความปลอดภัย: ช่องโหว่ Memory Leak ของ Ollama (CVE-2026-7482)
ช่วงไม่กี่วันที่ผ่านมา นักวิจัยด้านความปลอดภัยได้เปิดเผยช่องโหว่หน่วยความจำรั่วไหลร้ายแรง (CVE-2026-7482) ใน Ollama ซึ่งเป็นแพลตฟอร์มอนุมานโมเดลขนาดใหญ่แบบโอเพนซอร์ส ช่องโหว่นี้อนุญาตให้ผู้โจมตีอ่านข้อมูลที่ละเอียดอ่อนในหน่วยความจำของเซิร์ฟเวอร์ได้ภายใต้การกำหนดค่าบางอย่าง รวมถึงตัวแปรสภาพแวดล้อม คีย์ API, system prompt และข้อมูลบทสนทนาของผู้ใช้ที่ใช้งานพร้อมกัน

ช่องโหว่อยู่ในตัวโหลดโมเดล GGUF ของ Ollama โดยผ่านไฟล์ GGUF ที่ถูกสร้างขึ้นเป็นพิเศษ ผู้โจมตีสามารถกระตุ้นการอ่านนอกขอบเขต heap (heap out-of-bounds read) และทำให้ข้อมูลในหน่วยความจำของเซิร์ฟเวอร์รั่วไหลออกไป
ข้อมูลโดยสังเขปของช่องโหว่ความปลอดภัย
จุดที่อันตรายเป็นพิเศษของช่องโหว่นี้คือ มันไม่เพียงอาจทำให้ข้อมูลของเซสชันปัจจุบันรั่วไหลเท่านั้น แต่ยังอาจส่งผลกระทบต่อข้อมูลส่วนบุคคลของผู้ใช้รายอื่นที่ใช้งานพร้อมกันด้วย เนื่องจาก Ollama ถูกใช้อย่างแพร่หลายสำหรับบริการอนุมานโมเดลขนาดใหญ่ในเครื่อง องค์กรและนักพัฒนาจำนวนมากอาจเปิดเผย endpoint ไว้ในเครือข่ายภายในหรืออินเทอร์เน็ตสาธารณะ ทำให้ช่องโหว่นี้มีศักยภาพในการก่อภัยคุกคามสูง
ข้อมูลหมายเลข CVE
- หมายเลข CVE: CVE-2026-7482
- การจัดหมวดหมู่ CWE: CWE-125 – Out-of-bounds Read (การอ่านนอกขอบเขต)
- ประเภทของช่องโหว่: Memory Leak / บัฟเฟอร์ heap ล้น
- แหล่งที่เปิดเผย: Echo security team
รายละเอียดช่องโหว่
กลไกของช่องโหว่
ช่องโหว่อยู่ในตัวโหลดโมเดล GGUF ของ Ollama โดยเฉพาะในไฟล์ต่อไปนี้:
fs/ggml/gguf.goserver/quantization.goในWriteTo()ฟังก์ชัน
ขั้นตอนการโจมตีมีดังนี้:
- ผู้โจมตีใช้
/api/createเพื่ออัปโหลดไฟล์ GGUF ที่ถูกสร้างขึ้นเป็นพิเศษ - ค่าออฟเซ็ตและขนาดของเทนเซอร์ที่ระบุไว้ในไฟล์ GGUF มากกว่าความยาวจริงของไฟล์
- เซิร์ฟเวอร์อ่านเนื้อหาที่เกินบัฟเฟอร์หน่วยความจำที่จัดสรรไว้ระหว่างกระบวนการ quantization
- ข้อมูลหน่วยความจำที่รั่วไหลอาจมีข้อมูลที่ละเอียดอ่อน
- ผู้โจมตีใช้
/api/pushเพื่ออัปโหลดโมเดลที่มีข้อมูลรั่วไหลไปยัง registry ที่ตนควบคุม
เวอร์ชันที่ได้รับผลกระทบ
เวอร์ชันที่ได้รับผลกระทบ: Ollama < 0.17.1
เวอร์ชันที่ปลอดภัย: Ollama 0.17.1 ขึ้นไป
เงื่อนไขการโจมตี
- เซิร์ฟเวอร์ถูกกำหนดค่าเป็น
OLLAMA_HOST=0.0.0.0(เปิดให้เข้าถึงจากอินเทอร์เน็ตสาธารณะ) - ผู้โจมตีสามารถเข้าถึง
/api/createและ/api/pushendpoint ได้ - เซิร์ฟเวอร์กำลังรันบริการ Ollama อยู่
ความเสียหายที่อาจเกิดขึ้น
- การกำหนดค่าที่ละเอียดอ่อนในตัวแปรสภาพแวดล้อมรั่วไหล
- ขโมยคีย์ API และโทเค็นการเข้าถึง
- ได้รับ system prompt และการกำหนดค่าโมเดล
- อ่านข้อมูลบทสนทนาของผู้ใช้รายอื่น
- อาจนำไปสู่การโจมตีห่วงโซ่อุปทาน (supply chain attack)
คำแนะนำในการแก้ไข
มาตรการเร่งด่วน
- อัปเกรด Ollama: อัปเกรดเป็น Ollama 0.17.1 หรือใหม่กว่าทันที
- จำกัดการเข้าถึง: กำหนด
OLLAMA_HOSTเป็น127.0.0.1เพื่อหลีกเลี่ยงการเปิดให้เข้าถึงจากอินเทอร์เน็ตสาธารณะ - เพิ่มการยืนยันตัวตน: กำหนดค่ากลไกการยืนยันตัวตนสำหรับการเข้าถึง API
- การแยกเครือข่าย: ใช้ไฟร์วอลล์จำกัดการเข้าถึงพอร์ตของ Ollama
การป้องกันระยะยาว
- อัปเดต Ollama เป็นเวอร์ชันเสถียรล่าสุดเป็นประจำ
- นำหลักสิทธิ์ขั้นต่ำ (least privilege) มาใช้
- เปิดใช้งานบันทึกการเข้าถึงและการเฝ้าระวังด้านความปลอดภัย
- ตรวจสอบความปลอดภัย (security audit) เป็นประจำ
มาตรการป้องกัน
คำแนะนำสำหรับองค์กร
- ประเมินความเสี่ยง: ตรวจสอบว่าภายในองค์กรใช้เวอร์ชัน Ollama ที่ได้รับผลกระทบหรือไม่
- อัปเดตระบบ: ทดสอบยืนยันในสภาพแวดล้อมทดสอบก่อนแล้วจึงอัปเกรดทันที
- การปรับความปลอดภัยให้แข็งแรง: ใช้การแยกเครือข่ายและการควบคุมการเข้าถึง
- การเฝ้าระวังและแจ้งเตือน: ตั้งค่าการเฝ้าระวังเหตุการณ์ด้านความปลอดภัยและกลไกตอบสนองอย่างทันท่วงที
คำแนะนำสำหรับนักพัฒนา
- อย่าเปิดเผย endpoint ของ Ollama API ในสภาพแวดล้อม production
- ใช้ reverse proxy เพื่อเพิ่มชั้นความปลอดภัยอีกชั้นหนึ่ง
- ตรวจสอบและอัปเดตคอมโพเนนต์ที่ต้องพึ่งพาเป็นประจำ
- ปฏิบัติตามแนวปฏิบัติที่ดีที่สุดด้านการเขียนโค้ดอย่างปลอดภัย
ลิงก์อ้างอิง
บทส่งท้าย
การเปิดเผยช่องโหว่ครั้งนี้เตือนเราอีกครั้งว่าความปลอดภัยของแพลตฟอร์มโมเดลขนาดใหญ่แบบโอเพนซอร์สมีความสำคัญอย่างยิ่ง ขอแนะนำให้องค์กรและนักพัฒนาดำเนินการทันที อัปเกรดเป็นเวอร์ชันที่ปลอดภัย และนำมาตรการป้องกันด้านความปลอดภัยต่าง ๆ มาใช้อย่างครบถ้วน
ความปลอดภัยไม่มีเรื่องเล็ก ป้องกันไว้ก่อนย่อมดีกว่า!
อ่านเพิ่มเติม
สำหรับข่าวสารด้านความปลอดภัย AI เพิ่มเติม โปรดติดตามการอัปเดตจากช่องทางของเรา
