Langflow – nền tảng mã nguồn mở cho phép các nhà phát triển kết nối các prompt LLM, nguồn dữ liệu và mã Python tùy chỉnh – đang gặp một lỗ hổng nghiêm trọng cho phép bất kỳ ai cũng có thể thực thi mã Python tùy ý trên máy chủ bị ảnh hưởng. CVE-2026-33017, với điểm số 9.8 trên thang đo CVSS, ảnh hưởng đến mọi phiên bản trước 1.9.0 và có thể bị khai thác mà không cần xác thực, buộc các quản trị viên phải nâng cấp hoặc tắt tính năng “public flow”.

Lỗ hổng này hoạt động như thế nào

Endpoint public-flow của Langflow được thiết kế cho các chatbot dạng demo mà bất kỳ ai cũng có thể dùng thử mà không cần đăng nhập. Endpoint này chấp nhận một tham số data trong thân yêu cầu (request body), giả định rằng payload chứa một định nghĩa luồng (flow definition) an toàn, sau đó chuyển trực tiếp nội dung đó cho hàm exec() có sẵn của Python. Hàm exec() sẽ đánh giá chuỗi đó dưới dạng mã lệnh và thực thi nó với cùng đặc quyền như tiến trình Langflow.

Kẻ tấn công chỉ cần ID của public flow – một giá trị thường hiển thị trong các URL được chia sẻ – để tạo ra một yêu cầu thay thế bằng một định nghĩa luồng độc hại. Khi máy chủ xử lý yêu cầu, mã Python được chèn vào sẽ chạy ngay lập tức, giúp kẻ tấn công giành toàn quyền kiểm soát hệ thống máy chủ.

Tại sao lỗ hổng này lại lọt qua được

Trong các phiên bản trước đó, đường dẫn mã (code path) dùng để tải một luồng từ cơ sở dữ liệu đã bị bỏ qua khi có sự xuất hiện của trường data. Thay vì làm sạch (sanitising) hoặc xác thực payload, máy chủ lại tin tưởng người gọi và thực thi nguyên văn nội dung đó. Vì endpoint này có thể truy cập được mà không cần đăng nhập, bề mặt tấn công chính là internet công cộng đối với bất kỳ thực thể Langflow nào đang bật tính năng public flows.

Ai đang gặp rủi ro

Với điểm số nghiêm trọng như vậy, lỗ hổng này được xếp vào loại “nghiêm trọng” (critical).

Các bước giảm thiểu ngay lập tức

  1. Nâng cấp lên Langflow 1.9.0 – đây là bản sửa lỗi duy nhất đã được xác minh.
  2. Tắt tính năng public flow nếu bạn không cần quyền truy cập ẩn danh.
  3. Tắt AUTO_LOGIN – việc này sẽ ngăn chặn việc tự động tạo phiên làm việc cho các yêu cầu không được xác thực.
  4. Đặt API sau một tường lửa hoặc reverse proxy để giới hạn quyền truy cập trong các dải IP đáng tin cậy.
  5. Triển khai Tường lửa Ứng dụng Web (WAF) để chặn các yêu cầu gửi đến endpoint build_public_tmp có chứa tham số data.

Tại sao bản sửa lỗi này lại quan trọng

Lỗ hổng này khai thác một sai lầm cơ bản trong thiết kế: tin tưởng vào mã do người dùng cung cấp trong một ngữ cảnh chạy với đặc quyền cao. Bằng cách loại bỏ sự tin tưởng đó và thực thi việc xử lý đầu vào nghiêm ngặt hơn, Langflow 1.9.0 đã khôi phục lại rào cản giữa người dùng demo công cộng và máy chủ bên dưới.

Những điều cần theo dõi tiếp theo

  • Phản ứng của cộng đồng – theo dõi kho lưu trữ (repository) của Langflow để cập nhật các bản vá hoặc thông báo tiếp theo.

Điểm mấu chốt: Bất kỳ triển khai Langflow nào đang để lộ endpoint public-flow đều phải được vá lỗi ngay hôm nay. Cho đến khi phiên bản 1.9.0 được vận hành, hãy tắt tính năng này và bảo vệ dịch vụ bằng các biện pháp kiểm soát mạng. Chi phí của một vụ vi phạm sẽ lớn hơn rất nhiều so với nỗ lực của một đợt nâng cấp nhanh chóng.