แจ้งเตือน! ช่องโหว่ใน LangChain และ LangGraph นำไปสู่การเปิดเผยข้อมูลสำคัญของระบบ ผู้ดูแลระบบควรดำเนินการอัปเดตโดยเร่งด่วน

ยอดเข้าชม: 36 views

ศูนย์ประสานการรักษาความมั่นคงปลอดภัยระบบคอมพิวเตอร์แห่งชาติ (ThaiCERT) ได้ติดตามสถานการณ์ช่องโหว่ด้านความมั่นคงปลอดภัยที่ส่งผลกระทบต่อ LangChain และ LangGraph ซึ่งเป็นเฟรมเวิร์กสำหรับพัฒนาแอปพลิเคชันที่ใช้โมเดล LLMs โดยพบว่าช่องโหว่ดังกล่าวอาจถูกใช้เป็นช่องทางในการเข้าถึงข้อมูลสำคัญได้หลายรูปแบบ จึงขอให้ผู้ดูแลระบบดำเนินการตรวจสอบและแก้ไขโดยเร่งด่วน

1. รายละเอียด

นักวิจัยด้านความมั่นคงปลอดภัยจาก Cyera ได้เปิดเผยช่องโหว่ใน LangChain และ LangGraph [1] ซึ่งเปิดโอกาสให้ผู้โจมตีสามารถเข้าถึงข้อมูลสำคัญของระบบผ่าน 3 ทาง (independent paths) ได้แก่ การเข้าถึงไฟล์ในระบบ (filesystem), การดึงข้อมูลลับจาก environment และการเข้าถึงฐานข้อมูลหรือประวัติการสนทนา ช่องโหว่ดังกล่าวไม่ได้เกิดจากตัวโมเดล AI โดยตรง แต่เป็นช่องโหว่พื้นฐานที่พบได้ทั่วไป เช่น Path Traversal, Deserialization และ SQL Injection ซึ่งสะท้อนให้เห็นว่าการพัฒนาแอปพลิเคชัน AI ยังคงต้องเผชิญกับความเสี่ยงจากข้อผิดพลาดด้านความปลอดภัยแบบดั้งเดิม นอกจากนี้ LangChain ยังเป็นองค์ประกอบสำคัญใน ecosystem ของ AI และถูกใช้งานผ่าน dependency จำนวนมาก ทำให้ช่องโหว่ในระดับ core สามารถส่งผลกระทบแบบลูกโซ่ (supply chain impact) ไปยังระบบอื่นที่เกี่ยวข้องได้อย่างกว้างขวาง

2. ช่องโหว่ที่เกี่ยวข้อง

2.1 ช่องโหว่ Path Traversal (CWE-22) ใน LangChain หมายเลข CVE-2026-34070  (คะแนน CVSSv.3.1 : 7.5) ทำให้ผู้โจมตีสามารถเข้าถึงไฟล์ในระบบได้โดยไม่ได้รับอนุญาต [2]

2.2 ช่องโหว่ Deserialization (CWE-89) ใน LangChain หมายเลข CVE-2025-68664 (คะแนน CVSSv.3.1 : 9.3) ทำให้ผู้โจมตีสามารถดึง API key และข้อมูลลับจาก environment ได้ โดยหลอกให้ระบบตีความข้อมูลว่าเป็น object ของ LangChain [3]

2.3 ช่องโหว่ SQL Injection (CWE-502) ใน LangGraph หมายเลข CVE-2025-67644 (คะแนน CVSSv.3.1 : 7.3) ทำให้สามารถรันคำสั่ง SQL ที่เป็นอันตรายกับฐานข้อมูลได้ [4]

3. ผลิตภัณฑ์ที่ได้รับผลกระทบ

3.1 LangChain

3.2 LangChain-Core

3.3 LangGraph (โดยเฉพาะโมดูล langgraph-checkpoint-sqlite)

ทั้งนี้ ระบบที่มีการใช้งาน LangChain ทั้งทางตรงและทางอ้อม (transitive dependencies) อาจได้รับผลกระทบเช่นกัน จึงควรตรวจสอบ dependency ทั้งหมดอย่างละเอียด

4. แนวทางการแก้ไข

ปัจจุบันไม่มีวิธีแก้ไขชั่วคราว (Workaround) ที่มีประสิทธิภาพเพียงพอ ผู้ดูแลระบบควรดำเนินการอัปเดตซอฟต์แวร์เป็นเวอร์ชันที่ได้รับการแก้ไขช่องโหว่โดยทันที ดังนี้

4.1 ช่องโหว่ CVE-2026-34070  ควรอัปเดต langchain-core เป็นเวอร์ชัน 1.2.22 ขึ้นไป

4.2 ช่องโหว่ CVE-2025-68664 ควรอัปเดต langchain-core เป็นเวอร์ชัน 0.3.81 หรือ 1.2.5 ขึ้นไป

4.3 ช่องโหว่ CVE-2025-67644 ควรอัปเดต langgraph-checkpoint-sqlite เป็นเวอร์ชัน 3.0.1 ขึ้นไป

5. คำแนะนำด้านความปลอดภัยเพิ่มเติม

5.1 ตรวจสอบการใช้งานฟังก์ชันที่เกี่ยวข้องกับการโหลด prompt เช่น load_prompt() และหลีกเลี่ยงการโหลดข้อมูลจากแหล่งที่ไม่น่าเชื่อถือ

5.2 หลีกเลี่ยงการใช้ค่าที่กำหนดให้ดึงข้อมูลลับจาก environment (เช่น secrets_from_env=True) กับข้อมูลที่ไม่ได้รับการตรวจสอบ

5.3 ตรวจสอบและจำกัด input ที่ใช้ใน metadata หรือ query เพื่อป้องกัน SQL Injection

5.4 กำหนดให้ข้อมูลจากผู้ใช้และผลลัพธ์จาก LLM เป็นข้อมูลที่ไม่น่าเชื่อถือ (untrusted input) และต้องผ่านการตรวจสอบก่อนใช้งาน

5.5 ตรวจสอบและบริหารจัดการ dependency ทั้งทางตรงและทางอ้อมอย่างสม่ำเสมอ

5.6 เฝ้าระวังพฤติกรรมผิดปกติ เช่น การเข้าถึงไฟล์ ระบบฐานข้อมูล หรือ environment variables

5.7 ตรวจสอบ Log การใช้งานย้อนหลัง เพื่อค้นหาความผิดปกติหรือการโจมตีที่อาจเกิดขึ้น

5.8 อัปเดตแพตช์ด้านความปลอดภัยของซอฟต์แวร์และไลบรารีที่เกี่ยวข้องอย่างต่อเนื่อง

6. แหล่งอ้างอิง

[1] https://www.cyera.com/research/langdrained-3-paths-to-your-data-through-the-worlds-most-popular-ai-framework

[2]  https://github.com/langchain-ai/langchain/security/advisories/GHSA-qh6h-p6c9-ff54

[3]  https://github.com/langchain-ai/langchain/security/advisories/GHSA-c67j-w6g6-q2cm

[4]  https://github.com/langchain-ai/langgraph/security/advisories/GHSA-9rwj-6rc7-p77c