← กลับไปที่รายการ

ยืนยันการทำซ้ำช่องโหว่ Memory Leak ของ Ollama ได้แล้ว: CVE-2026-7482 ระดับความรุนแรงสูง

itadol5j

ช่องโหว่ Memory Leak ของ Ollama

🚨 ยืนยันการทำซ้ำช่องโหว่ Memory Leak ของ Ollama ได้แล้ว: CVE-2026-7482 ความเสี่ยงระดับสูง

นักวิจัยด้านความปลอดภัยได้ทำซ้ำสำเร็จช่องโหว่ Memory Leak ของ Ollama (CVE-2026-7482) ซึ่งเป็นheap out-of-bounds readช่องโหว่:

  • เวอร์ชันที่ได้รับผลกระทบ: Ollama ทุกเวอร์ชันก่อน 0.17.1
  • ประเภทของช่องโหว่: การอ่านนอกขอบเขตแบบ Heap (CWE-125)
  • เส้นทางการโจมตี: /api/create → โหลด GGUF → quantization → memory leak → ดึงข้อมูลออกทาง /api/push
  • ข้อมูลที่รั่วไหล: ตัวแปรสภาพแวดล้อม, API Keys, system prompt, บทสนทนาของผู้ใช้
  • ไม่มีการยืนยันตัวตน: endpoint /api/create และ /api/push ไม่มีการยืนยันตัวตน

🎯 แก่นของช่องโหว่

ช่องโหว่ GGUF Model Loader

ช่องโหว่อยู่ที่GGUF model loader:

  • /api/createendpoint ยอมรับไฟล์ GGUF ที่ผู้โจมตีจัดเตรียมไว้
  • tensor offset และ sizeมากกว่าความยาวจริงของไฟล์
  • กระบวนการ quantizationอ่านข้อมูลเกินบัฟเฟอร์ heap ที่จัดสรรไว้
  • ตำแหน่ง: fs/ggml/gguf.go และ server/quantization.go (WriteTo())

เนื้อหาที่รั่วไหลจากหน่วยความจำ

เนื้อหาในหน่วยความจำที่รั่วไหลอาจประกอบด้วย:

ข้อมูลที่รั่วไหล ความเสี่ยง
ตัวแปรสภาพแวดล้อม อาจมีการกำหนดค่าที่ละเอียดอ่อน
API Keys สูง: เปิดเผยคีย์ API
system prompt เปิดเผยการกำหนดค่าภายใน
ข้อมูลบทสนทนาของผู้ใช้ที่ใช้งานพร้อมกัน สูง: การรั่วไหลของข้อมูลส่วนบุคคล

ช่องทางการดึงข้อมูลออกภายนอก

เนื้อหาในหน่วยความจำที่รั่วไหลสามารถดึงออกได้ผ่าน/api/pushendpoint:

  • อัปโหลดโมเดล: อัปโหลด artifact ของโมเดลผลลัพธ์
  • registry ของผู้โจมตี: อัปโหลดไปยัง registry ที่ผู้โจมตีควบคุม
  • ไม่มีการยืนยันตัวตน: endpoint ในสายการเผยแพร่ต้นทางไม่มีการยืนยันตัวตน

⚠️ ระดับความเสี่ยง

คะแนน CVSS 4.0

CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:N/VA:H/SC:N/SI:N/SA:N/AU:Y/R:A/V:D/RE:L/U:Red

มิติ คะแนน คำอธิบาย
เวกเตอร์การโจมตี เครือข่าย (AV:N) โจมตีผ่านเครือข่ายได้
ความซับซ้อนของการโจมตี ต่ำ (AC:L) โจมตีง่าย
สิทธิ์ที่ต้องการ ไม่ต้องมี (PR:N) ไม่ต้องยืนยันตัวตน
การโต้ตอบของผู้ใช้ ไม่ต้องมี (UI:N) ไม่ต้องมีการโต้ตอบของผู้ใช้
ผลกระทบต่อความลับ สูง (VC:H) ผลกระทบต่อความลับระดับสูง
ผลกระทบต่อความพร้อมใช้งาน สูง (VA:H) ผลกระทบต่อความพร้อมใช้งานระดับสูง

📊 การติดตั้งที่ได้รับผลกระทบ

การกำหนดค่าเริ่มต้น

โดยค่าเริ่มต้น Ollama ผูกไว้ที่127.0.0.1แต่OLLAMA_HOST=0.0.0.0เป็นการกำหนดค่าที่ถูกใช้กันอย่างแพร่หลาย:

  • การผูกค่าเริ่มต้น: 127.0.0.1 (ภายในเครื่อง)
  • เปิดเผยสู่สาธารณะ: OLLAMA_HOST=0.0.0.0 (ใช้กันแพร่หลาย)
  • การเปิดเผยจำนวนมาก: พบการเปิดเผยสู่อินเทอร์เน็ตสาธารณะจำนวนมาก

สถานการณ์เสี่ยงสูง

สถานการณ์ ความเสี่ยง
Ollama ที่เปิดเผยสู่อินเทอร์เน็ตสาธารณะ สูงมาก: โจมตีได้โดยตรง
Ollama ที่ใช้ร่วมกันหลายผู้ใช้ สูง: อาจรั่วไหลบทสนทนาของผู้ใช้รายอื่น
มี API Keys ที่ละเอียดอ่อน สูง: API Keys รั่วไหล
การติดตั้งในเครื่อง ปานกลาง: ต้องเข้าถึงจากภายในเครื่อง

🔧 มาตรการบรรเทาผลกระทบ

แนวทางที่ 1: อัปเกรดเป็น 0.17.1 ขึ้นไป (แนะนำ)

# 升级 Ollama
# macOS
brew upgrade ollama

# Linux
curl -fsSL https://ollama.com/install.sh | sh

เนื้อหาการแก้ไข: แพตช์แก้ไขปัญหาการอ่านนอกขอบเขตของ GGUF loader แล้ว

แนวทางที่ 2: จำกัดการเปิดเผยบนเครือข่าย

# 不要使用 0.0.0.0 绑定
# 保持默认 127.0.0.1
OLLAMA_HOST=127.0.0.1

แนวทางที่ 3: จำกัดด้วยไฟร์วอลล์

# 限制 /api/create 和 /api/push 端点访问
# 只允许可信来源

แนวทางที่ 4: เฝ้าระวังไฟล์ GGUF ที่ผิดปกติ

  • ตรวจสอบไฟล์ GGUF: ว่า tensor offset และ size สมเหตุสมผลหรือไม่
  • เฝ้าระวัง /api/create: บันทึกแหล่งที่มาของไฟล์ GGUF ที่ถูกอัปโหลด
  • เฝ้าระวัง /api/push: บันทึก registry ปลายทางที่อัปโหลดไป

🚀 สถานะการทำซ้ำ

ทำซ้ำสำเร็จแล้ว: นักวิจัยด้านความปลอดภัยทำซ้ำช่องโหว่นี้สำเร็จแล้ว:

  • เงื่อนไขการทำซ้ำ: Ollama < 0.17.1
  • เส้นทางการโจมตี: อัปโหลด GGUF ที่เป็นอันตราย → กระตุ้น quantization → memory leak
  • การพิสูจน์การรั่วไหล: รั่วไหลตัวแปรสภาพแวดล้อมและข้อมูลบทสนทนาได้สำเร็จ
  • การพิสูจน์การดึงข้อมูลออก: ดึงข้อมูลออกผ่าน /api/push ได้สำเร็จ

📅 ข้อมูลแพตช์

ข้อมูล ลิงก์
เวอร์ชันที่แก้ไข v0.17.1
คอมมิตแพตช์ 88d57d0483
PR #14406

📝 สรุป

ช่องโหว่ Memory Leak ของ Ollama CVE-2026-7482ทำซ้ำสำเร็จแล้ว:

  • กระทบ Ollama ทุกเวอร์ชันก่อน 0.17.1
  • การอ่านนอกขอบเขตแบบ Heap, CWE-125
  • รั่วไหล: ตัวแปรสภาพแวดล้อม, API Keys, system prompt, บทสนทนาของผู้ใช้
  • ช่องทางดึงข้อมูลออก: อัปโหลดผ่าน /api/push ไปยัง registry ของผู้โจมตี
  • endpoint ที่ไม่มีการยืนยันตัวตน: /api/create และ /api/push
  • ความเสี่ยงจากการเปิดเผยสู่อินเทอร์เน็ตสาธารณะ: OLLAMA_HOST=0.0.0.0 ถูกใช้กันแพร่หลาย
  • การบรรเทา: อัปเกรดเป็น 0.17.1 ขึ้นไป หรือจำกัดการเปิดเผยบนเครือข่าย

ช่องโหว่ระดับสูงที่ทำซ้ำสำเร็จแล้ว ควรอัปเกรดหรือจำกัดการเปิดเผยทันที

NVD:https://nvd.nist.gov/vuln/detail/CVE-2026-7482

เวอร์ชันที่แก้ไข:https://github.com/ollama/ollama/releases/tag/v0.17.1