Lỗ hổng trong Git dành cho Cygwin cho phép bạn tổ chức thực thi mã

Một lỗ hổng nghiêm trọng đã được xác định trong Git (CVE-2021-29468), lỗ hổng này chỉ xuất hiện khi xây dựng cho môi trường Cygwin (thư viện mô phỏng API Linux cơ bản trên Windows và một bộ chương trình Linux tiêu chuẩn cho Windows). Lỗ hổng này cho phép thực thi mã của kẻ tấn công khi truy xuất dữ liệu (“kiểm tra git”) từ kho lưu trữ do kẻ tấn công kiểm soát. Sự cố đã được khắc phục trong gói git 2.31.1-2 dành cho Cygwin. Trong dự án Git chính, sự cố vẫn chưa được khắc phục (khó có khả năng ai đó đang tự tay xây dựng git cho Cygwin thay vì sử dụng gói làm sẵn).

Lỗ hổng này xảy ra do quá trình xử lý môi trường của Cygwin như một hệ thống giống Unix chứ không phải Windows, dẫn đến không có hạn chế nào trong việc sử dụng ký tự '\' trong đường dẫn, trong khi ở Cygwin, giống như trong Windows, ký tự này có thể là dùng để phân tách các thư mục. Do đó, bằng cách tạo một kho lưu trữ được sửa đổi đặc biệt chứa các liên kết tượng trưng và các tệp có ký tự dấu gạch chéo ngược, có thể ghi đè các tệp tùy ý khi tải kho lưu trữ này vào Cygwin (một lỗ hổng tương tự đã được sửa trong Git cho Windows vào năm 2019). Bằng cách có được khả năng ghi đè lên các tệp, kẻ tấn công có thể ghi đè các lệnh gọi hook trong git và khiến mã tùy ý được thực thi trên hệ thống.

Nguồn: opennet.ru

Thêm một lời nhận xét