Lỗ hổng này có tên gọi là BatBadBut, được GitHub gắn mã định danh là CVE-2024-24576 (điểm CVSS 10.0), cho thấy mức độ nghiêm trọng tối đa. Nhà nghiên cứu bảo mật RyotaK tới từ công ty an ninh mạng Flatt Security (Nhật Bản) là người đã phát hiện và báo cáo lỗ hổng này cho Trung tâm Điều phối CERT (CERT/CC).
Lỗ hổng tồn tại do hệ điều hành Windows tạo ra tiến trình cmd[.]exe khi thực thi các tệp batch có chức năng “CreatProcess” và các ngôn ngữ lập trình không thoát khỏi (escape) các đối số một cách chính xác khi gọi các tệp batch (với phần mở rộng bat và cmd) trên Windows bằng lệnh API.
Hầu hết các ngôn ngữ lập trình đều bao bọc chức năng CreatProcess để cung cấp giao diện thân thiện hơn với người dùng. Trên Windows, CreatProcess() ngầm tạo ra tiến trình cmd[.]exe khi thực thi các tệp batch, ngay cả khi ứng dụng không chỉ định chúng trong dòng lệnh.
Vấn đề là cmd[.]exe có các quy tắc phân tích cú pháp phức tạp cho các đối số dòng lệnh và thời gian chạy (runtime) ngôn ngữ lập trình không thể thoát khỏi các đối số lệnh một cách chính xác.
Khai thác lỗ hổng này, kẻ tấn công có thể kiểm soát phần đối số lệnh của tệp batch để từ đó chèn lệnh vào các ứng dụng Windows. Tuy nhiên, theo nhà nghiên cứu bảo mật RyotaK, việc khai thác thành công lỗ hổng BatBadBut chỉ xảy ra khi đáp ứng các điều kiện sau:
- Ứng dụng cần thực thi một lệnh trên Windows.
- Ứng dụng không được chỉ định phần mở rộng của tệp lệnh hoặc phần mở rộng tệp là .bat hoặc .cmd.
- Lệnh đang được thực thi có đầu vào (input) do người dùng kiểm soát.
- Thời gian chạy của ngôn ngữ lập trình không thể thoát khỏi các đối số dòng lệnh với tiến trình cmd[.]exe một cách chính xác.
RyotaK lưu ý rằng hầu hết các ứng dụng không bị ảnh hưởng bởi lỗ hổng này và có một số biện pháp giảm thiểu. Hơn nữa, một số ngôn ngữ lập trình được thông báo về lỗ hổng đã thực hiện các bước để giải quyết nó, chẳng hạn như thêm một cơ chế escape khác cho các tệp batch.
“Để ngăn chặn việc thực thi các tệp batch không mong muốn, người dùng nên cân nhắc việc di chuyển các tệp batch sang một thư mục không có trong biến môi trường PATH. Trong trường hợp này, các tệp batch sẽ không được thực thi trừ khi đường dẫn đầy đủ được chỉ định, do đó có thể ngăn chặn việc thực thi các tệp không mong muốn”, RyotaK khuyến nghị.
Cho đến nay, thư viện Haskell, Rust, Node.js, PHP và yt-dlp được biết là bị ảnh hưởng bởi lỗ hổng BatBadBut. 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 đề, hiện mới chỉ có Haskell, Rust và yt-dlp đã công bố các bản vá cập nhật, do đó các nhà phát triển được khuyến nghị nên thận trọng khi thực hiện các thao tác lệnh trên Windows.
Hải Yến
(Tổng hợp)
07:00 | 12/04/2024
09:00 | 03/04/2024
09:00 | 06/03/2024
16:00 | 20/01/2025
Ngày 06/01, nhóm tin tặc Silent Crow được cho là liên quan đến Ukraine tuyên bố đã xâm nhập vào hệ thống của Cơ quan địa chính và bản đồ Quốc gia Nga (Rosreestr) và công bố một phần dữ liệu được cho là trích xuất từ cơ sở dữ liệu của cơ quan này.
13:00 | 13/01/2025
Lừa đảo mạo danh đang là chiêu trò kẻ tấn công sử dụng trên không gian mạng Việt Nam và quốc tế. Lừa đảo qua email giả mạo dịch vụ bảo mật Windows và mạo danh doanh nghiệp bưu chính là 2 thủ đoạn vừa được các chuyên gia cảnh báo.
11:00 | 05/12/2024
Hãng viễn thông Hoa Kỳ T-Mobile đã xác nhận rằng công ty cũng nằm trong số các công ty bị các tác nhân đe dọa từ Trung Quốc nhắm tới để truy cập vào thông tin có giá trị.
16:00 | 27/11/2024
Ngày nay, cụm từ "chuỗi cung ứng" đã vô cùng phổ biến trong những câu chuyện đời sống hàng ngày và trở thành một yếu tố then chốt trong nền kinh tế toàn cầu, đóng vai trò quan trọng trong việc sản xuất và phân phối hàng hóa và dịch vụ. Đây cũng là mục tiêu mà tội phạm công nghệ cao nhắm tới bằng phần mềm độc hại hay nhiều cách thức khác nhau.
Nhóm tin tặc UNC3886 được cho là có liên quan đến Trung Quốc đã tấn công các router MX đã hết vòng đời của Juniper Networks nhằm triển khai cửa hậu tuỳ chỉnh, cho thấy khả năng xâm nhập hạ tầng mạng nội bộ.
14:00 | 21/03/2025