Lỗ hổng Streamlit nghiêm trọng: Nguy cơ chiếm quyền đám mây

Một lỗ hổng CVE nghiêm trọng đã được phát hiện trong Streamlit, một framework mã nguồn mở phổ biến để xây dựng các ứng dụng dữ liệu. Lỗ hổng này có thể cho phép kẻ tấn công thực hiện các cuộc tấn công chiếm quyền điều khiển tài khoản đám mây và thao túng hệ thống dữ liệu tài chính.
Lỗ hổng Streamlit này, nằm trong tính năng tải lên tệp, cho thấy một sự giám sát đơn giản trong việc xác thực phía máy khách có thể dẫn đến những hậu quả nghiêm trọng cho các tổ chức sử dụng nền tảng này cho các ứng dụng nhạy cảm.
Phát Hiện và Cơ Chế Tấn Công
Các nhà nghiên cứu tại Đội Nghiên cứu Bảo mật Ứng dụng của Cato Networks đã phát hiện ra lỗ hổng Streamlit này vào tháng 2 năm 2025. Họ đã trình bày cách các tác nhân đe dọa có thể bỏ qua các hạn chế về loại tệp trong widget st.file_uploader của Streamlit.
Lỗi này cho phép kẻ tấn công tải lên các tệp độc hại vào các phiên bản đám mây đang chạy ứng dụng Streamlit, từ đó có khả năng giành quyền truy cập trái phép vào các hệ thống nhạy cảm.
Cơ Chế Bỏ Qua Xác Thực
Vấn đề cốt lõi của lỗ hổng Streamlit này xuất phát từ việc Streamlit phụ thuộc vào xác thực phía máy khách (client-side validation) cho các hạn chế về loại tệp. Mặc dù các nhà phát triển tin rằng tham số type trong st.file_uploader cung cấp khả năng thực thi bảo mật, nhưng hạn chế này chỉ được áp dụng trong trình duyệt thông qua JavaScript.
Điều đáng chú ý là không có xác thực phía máy chủ (server-side validation) nào để kiểm tra và xác minh các loại tệp được tải lên. Sự thiếu sót này tạo ra một khe hở bảo mật nghiêm trọng.
Sử dụng các công cụ bảo mật ứng dụng như Burp Suite, kẻ tấn công có thể chặn và sửa đổi các yêu cầu tải lên. Bằng cách thay đổi tiện ích mở rộng tệp trong quá trình truyền, chúng có thể dễ dàng bỏ qua các hạn chế được thực thi ở giao diện người dùng.
Tác Động và Khai Thác Tiềm Năng
Tác động của lỗ hổng Streamlit này vượt xa việc tải lên tệp đơn giản. Trong một minh chứng proof-of-concept, các nhà nghiên cứu đã chỉ ra cách kẻ tấn công có thể thao túng các bảng điều khiển thị trường chứng khoán được xây dựng bằng Streamlit, từ đó có khả năng ảnh hưởng đến hành vi giao dịch theo thời gian thực và gây ra sự gián đoạn tài chính trên diện rộng.
Chiếm Quyền Điều Khiển Đám Mây thông qua Tải Lên Tệp
Bằng cách giành quyền kiểm soát các phiên bản đám mây được cấu hình sai, kẻ tấn công có thể phơi bày dữ liệu đám mây nhạy cảm, sửa đổi các tệp backend và can thiệp vào thông tin tài chính. Khả năng tải lên tệp tùy ý này có thể được kết hợp với các cuộc tấn công duyệt thư mục (directory traversal attacks).
Sự kết hợp này cho phép ghi đè các tệp hệ thống quan trọng, chẳng hạn như khóa SSH authorized_keys, từ đó cho phép truy cập từ xa vào cơ sở hạ tầng đám mây. Điều này có thể dẫn đến chiếm quyền điều khiển hoàn toàn hệ thống mục tiêu.
Rủi ro bảo mật cho các hệ thống phụ thuộc
Lỗ hổng Streamlit này làm nổi bật rủi ro bảo mật liên quan đến các framework mã nguồn mở được sử dụng rộng rãi và tích hợp trên nhiều nền tảng. Streamlit, được Snowflake mua lại vào năm 2022, cung cấp năng lượng cho nhiều ứng dụng bao gồm các nguyên mẫu học máy, phân tích chăm sóc sức khỏe và bảng điều khiển tài chính trên các môi trường đám mây khác nhau.
Sự phổ biến của nó đồng nghĩa với việc một lỗ hổng trong framework có thể có tác động dây chuyền đến một lượng lớn ứng dụng và dữ liệu nhạy cảm.
Biện Pháp Khắc Phục và Khuyến Nghị
Streamlit đã nhanh chóng thừa nhận vấn đề và phát hành một bản vá trong phiên bản 1.43.2 vào ngày 11 tháng 3 năm 2025. Bản vá này đã giới thiệu xác thực backend để thực thi các hạn chế về loại tệp, giải quyết triệt để lỗ hổng Streamlit đã được phát hiện.
Tuy nhiên, mặc dù Cato Networks đã yêu cầu phân loại CVE, Streamlit vẫn cho rằng lỗ hổng này chủ yếu là một vấn đề triển khai của nhà phát triển chứ không phải là một lỗi bảo mật của framework. Điều này nhấn mạnh tầm quan trọng của việc triển khai bảo mật toàn diện ngoài các biện pháp bảo vệ cốt lõi của framework.
Hướng Dẫn Cập Nhật và Bảo Vệ
Các tổ chức sử dụng ứng dụng Streamlit nên ngay lập tức thực hiện các hành động sau để giảm thiểu rủi ro bảo mật và bảo vệ hệ thống của mình:
- Cập nhật bản vá: Nâng cấp lên phiên bản Streamlit 1.43.2 hoặc mới hơn càng sớm càng tốt. Đây là bước quan trọng nhất để khắc phục lỗ hổng Streamlit này.
- Triển khai kiểm soát truy cập thích hợp để hạn chế quyền truy cập vào các ứng dụng Streamlit và dữ liệu nhạy cảm.
- Áp dụng các hạn chế mạng (network restrictions) để giảm thiểu bề mặt tấn công.
- Thực hiện các cơ chế xác thực tệp mạnh mẽ hơn, bao gồm xác thực phía máy chủ, để ngăn chặn các cuộc tấn công tải lên tệp tùy ý.
Để biết thêm chi tiết kỹ thuật về lỗ hổng này, độc giả có thể tham khảo bài viết gốc từ Cato Networks: Cato CTRl: New Streamlit Vulnerability.









