Thư viện xây dựng ứng dụng AI Agent phổ biến nhất LangChain Core vừa ghi nhận lỗ hổng nghiêm trọng CVE-2025-68664 (tên mã LangGrinch). Lỗ hổng cho phép kẻ tấn công tiêm mã độc vào các biến ngữ cảnh để thực thi mã Python tùy ý trên máy chủ backend chạy ứng dụng LLM.
📋 Tổng Quan Lỗ Hổng:
| Mã Lỗ Hổng | CVE-2025-68664 (LangGrinch) |
| Điểm CVSS | 9.3 / Critical |
| Thành Phần Lỗi | langchain_core.prompts.loading & ExpressionEngine |
| Véc-tơ Khai Thác | Unsafe Evaluation trong quá trình render mẫu Prompt Template |
1. Nguyên nhân lỗi: Sử dụng eval() trong xử lý Template
Khi các ứng dụng LangChain sử dụng tính năng nạp Prompt Template động từ tệp YAML/JSON hoặc dữ liệu người dùng nạp vào (User Context), module xử lý biểu thức đã sử dụng hàm đánh giá chuỗi không an toàn để tính toán các biến logic.
Kẻ tấn công có thể chèn một payload chứa mã gọi hệ thống thông qua đối tượng __builtins__ hoặc importlib:
# Ví dụ payload độc hại được nạp vào Prompt Template:
payload = "{__import__('os').system('id')}"
template = PromptTemplate.from_template(payload)
template.format() # Thực thi trực tiếp lệnh shell trên máy chủ!2. Giải pháp khắc phục cho các dự án AI
- Nâng cấp ngay langchain-core: Cập nhật lên phiên bản
langchain-core >= 0.3.38nơi cơ chế đánh giá biểu thức được thay thế hoàn toàn bằng AST parser an toàn. - Không nạp template từ nguồn không tin cậy: Luôn kiểm duyệt chặt chẽ các file template trước khi render.