Lỗ hổng CVE nguy hiểm CVE-2026-33017 trong Langflow

Lỗ hổng CVE nguy hiểm CVE-2026-33017 trong Langflow

Lỗ hổng CVE-2026-33017 trong Langflow đang bị khai thác để lấy cắp khóa cloud và triển khai worker cho một botnet dựa trên NATS. Đây là một remote code execution chưa cần xác thực, khiến một phiên bản Langflow phơi bày ra Internet có thể trở thành điểm khởi đầu cho tấn công mạng vào hạ tầng cloud.

CVE-2026-33017 Và Ảnh Hưởng Kỹ Thuật

Theo mô tả kỹ thuật, CVE-2026-33017 là lỗ hổng unauthenticated remote code execution trong Langflow. Lỗ hổng này đã được đưa vào CISA KEV vào tháng 03/2026. Thông tin tham chiếu có thể xem tại NVD.

Kẻ tấn công chỉ cần nhắm vào endpoint công khai, không cần đăng nhập, để thực thi lệnh trực tiếp trong container Langflow. Cơ chế này cho phép đọc các biến môi trường chứa thông tin nhạy cảm, đặc biệt là AWS_ACCESS_KEY_IDAWS_SECRET_ACCESS_KEY.

Trong sự cố được phân tích, bước khai thác ban đầu này đủ để làm lộ AWS access keys đang hoạt động. Từ đó, hoạt động sau khai thác chuyển sang cloud reconnaissance và lạm dụng các dịch vụ liên quan đến AI và cloud.

Lộ Trình Khai Thác Lỗ Hổng CVE-2026-33017

Điểm đáng chú ý của lỗ hổng CVE này là không cần phishing hay social engineering. Một yêu cầu tự động tới endpoint internet-facing của Langflow đã đủ để thu thập khóa truy cập.

Endpoint công khai được nhắc đến là:

/api/v1/build_public_tmp//flow

Khi gọi endpoint này, payload của kẻ tấn công có thể capture process environment và đọc trực tiếp biến môi trường của ứng dụng. Đây là nguyên nhân khiến rủi ro bảo mật tăng mạnh nếu Langflow được triển khai trên hệ thống có sẵn credential cloud.

Kiểm Tra Và Xác Thực Khóa AWS

Sau khi lấy được khóa, chúng được kiểm tra bằng API sts:GetCallerIdentity để xác nhận tính hợp lệ và trạng thái đang hoạt động. Sau đó, cùng bộ khóa được dùng để liệt kê tài nguyên cloud và rà soát các dịch vụ sau:

  • S3 bucket listing.
  • EC2 instance enumeration.
  • Kiểm tra các dịch vụ logging, costidentity.
  • Thử gọi các endpoint suy luận mô hình trên AWS Bedrock.

Mục tiêu quan sát được là lạm dụng quyền truy cập để dùng tài nguyên mô hình ngôn ngữ mà không thanh toán, đồng thời mở rộng khả năng đánh cắp dữ liệu và tái sử dụng credential cho nhiều nền tảng.

NATS Là Kênh Command And Control

Chiến dịch này dùng NATS làm kênh command and control thay vì web panel truyền thống. Worker kết nối đến máy chủ NATS tại 45.192.109.25:14222 qua phiên xác thực và subscribe vào các subject như:

  • task.scan_cde
  • task.scan_web
  • task.validate_aws
  • task.validate_ai

Kiến trúc này cho phép điều phối tập trung, worker kéo nhiệm vụ về xử lý, sau đó trả kết quả có cấu trúc thông qua JetStream pull consumers với cơ chế explicit acknowledgements.

Tham khảo thêm phân tích kỹ thuật từ Sysdig: Sysdig: NATS as C2.

KeyHunter Worker Và Khả Năng Mở Rộng

Phân tích tĩnh cho thấy bộ công cụ mà kẻ tấn công gọi là KeyHunter được thiết kế để thu thập API key từ nội dung web và các nền tảng phát triển cloud. Worker Python có các hàm tên validate_awsvalidate_ai để tự động kiểm tra, phân loại khóa thu được.

Worker còn có khả năng quét các trang web bất kỳ và một số nền tảng code cloud cụ thể. Điều này tạo thành một pipeline thống nhất: một máy Langflow bị xâm nhập có thể trở thành nguồn cấp cho nhiều bước khai thác tiếp theo.

Trong vòng khoảng 30 phút, kẻ tấn công đã tải về cả Python worker script lẫn Go binary. Dù bản Go gặp lỗi bộ nhớ trong lần chạy đầu, bản Python vẫn được giữ lại như đường xử lý ổn định hơn cho việc thu thập dữ liệu.

Các Dấu Hiệu Kỹ Thuật Trong Langflow Bị Tấn Công

Trong sự cố, operator cũng cố gắng thoát container bằng DirtyPipeDirtyCred, cho thấy mục tiêu không chỉ dừng ở mức truy cập ứng dụng mà còn muốn kiểm soát host sâu hơn nếu có thể.

Với worker Go, script cài đặt cho thấy mục tiêu là một worker pool bền vững, chạy đa kiến trúc. File deploy.sh cài worker vào /opt/keyhunter-worker/ dưới dạng systemd service, tự khởi động lại sau reboot trên cả x86_64aarch64.

#!/bin/sh
install -d /opt/keyhunter-worker/
cp worker /opt/keyhunter-worker/
cp keyhunter-worker.service /etc/systemd/system/
systemctl daemon-reload
systemctl enable --now keyhunter-worker

Đoạn cấu hình trên cho thấy mục tiêu duy trì tồn tại lâu dài, giảm phụ thuộc vào phiên tương tác ban đầu và giúp worker sống sót qua khởi động lại hệ thống.

IOC Liên Quan

IOC được trích xuất từ nội dung phân tích gồm:

  • CVE-2026-33017 – Lỗ hổng RCE chưa xác thực trong Langflow.
  • 45.192.109.25:14222 – Máy chủ NATS dùng làm C2.
  • /api/v1/build_public_tmp//flow – Endpoint công khai bị lợi dụng để đọc biến môi trường.
  • task.scan_cde, task.scan_web, task.validate_aws, task.validate_ai – Các subject NATS được dùng để phân phối tác vụ.
  • heartbeat.workerworker.result – Subject được dùng sau khi enumerate quyền publish.
  • /opt/keyhunter-worker/ – Đường dẫn cài đặt worker trên host.

Hành Vi Hậu Khai Thác Và Ảnh Hưởng Hệ Thống

Sau khi có khóa AWS hợp lệ, kẻ tấn công thực hiện cloud reconnaissance trên tài khoản bị lộ. Các hành vi gồm liệt kê tài nguyên, kiểm tra dịch vụ AI, và thử truy cập các API model invocation của AWS Bedrock.

Worker cũng được thiết kế để kiểm tra và phân loại khóa từ các nền tảng khác như OpenAI, AnthropicHugging Face. Vì vậy, một môi trường Langflow bị lộ có thể kéo theo rò rỉ dữ liệu nhạy cảm ở nhiều lớp khác nhau.

Chiến dịch này cho thấy một lỗ hổng zero-day hoặc lỗ hổng chưa được vá kịp thời trên công cụ AI workflow có thể tạo ra chuỗi sự cố từ xâm nhập trái phép đến lạm dụng cloud ở quy mô lớn.

Biện Pháp Giảm Thiểu Và Phát Hiện Xâm Nhập

Khuyến nghị đầu tiên là cập nhật bản vá Langflow lên phiên bản đã sửa CVE-2026-33017. Vì endpoint bị khai thác không yêu cầu xác thực, việc quét và khai thác có thể diễn ra rất nhanh trên các instance public.

Bất kỳ Langflow instance nào đã từng phơi bày trước khi vá nên được xem là có khả năng bị xâm nhập. Cần xoay vòng ngay các khóa sau nếu chúng có thể được truy cập từ môi trường đó:

  • AWS keys.
  • OpenAI keys.
  • Anthropic keys.
  • Hugging Face keys.

Về phát hiện tấn công, Sysdig ghi nhận các rule hiện có về thay đổi system service đáng ngờ, kết nối outbound tới C2 và AWS runtime analytics đã có thể bắt được một phần hành vi. Đây là tín hiệu hữu ích cho IDS và hệ thống giám sát cloud.

Đồng thời nên chặn outbound traffic tới các host NATS và staging đã biết trong sự cố, và siết egress của các công cụ AI để chỉ cho phép kết nối tới những endpoint LLM và database cần thiết. Điều này giảm bề mặt cho tấn công mạng và hạn chế khả năng worker bị lạm dụng sau khi hệ thống bị xâm nhập.