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ổngCVE-2025-68664 (LangGrinch)
Điểm CVSS9.3 / Critical
Thành Phần Lỗilangchain_core.prompts.loading & ExpressionEngine
Véc-tơ Khai ThácUnsafe 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.38 nơ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.