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
10:00 | 30/08/2024
Các chuyên gia bảo mật của hãng ESET (Slovakia) vừa phát hiện một phần mềm độc hại mới trên nền tảng Android có khả năng sử dụng đầu đọc NFC để đánh cắp thông tin thanh toán từ thiết bị của nạn nhân và chuyển dữ liệu này đến tay kẻ tấn công.
14:00 | 06/08/2024
Một nhóm tin tặc có tên Stargazer Goblin đã thiết lập một mạng lưới các tài khoản GitHub không xác thực để cung cấp dịch vụ phân phối dưới dạng dịch vụ (DaaS) nhằm phát tán nhiều loại phần mềm độc hại và đánh cắp thông tin, nhóm đã thu về 100.000 USD lợi nhuận bất hợp pháp trong năm qua.
13:00 | 06/08/2024
Các nhà nghiên cứu đã phát hiện ra một lỗ hổng nghiêm trọng mới trong Hệ thống phân giải tên miền (DNS) cho phép thực hiện một cuộc tấn công có tên là TuDoor. Cuộc tấn công này có thể được sử dụng nhằm vào bộ đệm DNS, khởi tạo các điều kiện để tấn công từ chối dịch vụ (DoS) và làm cạn kiệt tài nguyên, điều đó khiến nó trở thành mối đe dọa mới.
11:00 | 29/05/2024
Nhóm tin tặc APT tới từ Triều Tiên có tên Kimsuky đã sử dụng một phần mềm độc hại trên Linux mới có tên Gomir để thực hiện các cuộc tấn công mạng vào các thực thể tại Hàn Quốc. Đây là phiên bản của backdoor GoBear được phân phối thông qua trình cài đặt phần mềm bị trojan hóa.
Theo Entropia Intel, từ ngày 26/8, loạt trang web liên quan đến chính phủ Pháp đã ngừng hoạt động do bị tấn công từ chối dịch vụ (DDoS). Sự việc diễn ra sau khi Pháp bắt CEO Telegram Pavel Durov hôm 24/8.
16:00 | 31/08/2024