Một lỗ hổng bảo mật nghiêm trọng trong thư viện tiêu chuẩn Rust có thể bị khai thác để nhắm mục tiêu người dùng Windows và giai đoạn các cuộc tấn công tiêm lệnh.
Lỗ hổng, được theo dõi là CVE-2024-24576, có điểm CVSS là 10.0, cho thấy mức độ nghiêm trọng tối đa. Điều đó nói rằng, nó chỉ ảnh hưởng đến các kịch bản trong đó các tệp hàng loạt được gọi trên Windows với các đối số không đáng tin cậy.
"Thư viện tiêu chuẩn Rust đã không thoát khỏi các đối số khi gọi các tệp hàng loạt (với phần mở rộng bat và cmd) trên Windows bằng API lệnh", nhóm làm việc Rust Security Response cho biết trong một tư vấn được phát hành vào ngày 9 tháng 4 năm 2024.
"Một kẻ tấn công có thể kiểm soát các đối số được truyền đến quá trình sinh sản có thể thực hiện các lệnh shell tùy ý bằng cách bỏ qua việc trốn thoát."
Lỗ hổng ảnh hưởng đến tất cả các phiên bản của Rust trước 1.77.2. Nhà nghiên cứu bảo mật RyotaK đã được ghi nhận với việc phát hiện và báo cáo lỗi cho Trung tâm điều phối CERT (CERT / CC).
RyotaK cho biết lỗ hổng - có tên mã là BatBadBut - ảnh hưởng đến một số ngôn ngữ lập trình và nó phát sinh khi "ngôn ngữ lập trình bao bọc chức năng CreateProcess [trong Windows] và thêm cơ chế thoát cho các đối số lệnh".
Nhưng thực tế là không phải mọi ngôn ngữ lập trình đều giải quyết được vấn đề, các nhà phát triển đang được khuyến nghị thận trọng khi thực hiện các lệnh trên Windows.
"Để ngăn chặn việc thực thi bất ngờ các tệp bó, bạn nên xem xét việc di chuyển các tệp hàng loạt sang một thư mục không được bao gồm trong biến môi trường PATH", RyotaK cho biết trong một lời khuyên cho người dùng.
"Trong trường hợp này, các tệp hàng loạt sẽ không được thực thi trừ khi đường dẫn đầy đủ được chỉ định, vì vậy việc thực thi bất ngờ các tệp hàng loạt có thể bị ngăn chặn."