Lỗ hổng trong Git khi sao chép các mô-đun con và sử dụng git shell

Các bản phát hành khắc phục của hệ thống kiểm soát nguồn phân tán Git 2.38.1, 2.30.6, 2.31.5, 2.32.4, 2.33.5, 2.34.5, 2.35.5, 2.36.3 và 2.37.4 đã được xuất bản, sửa lỗi này hai lỗ hổng , xuất hiện khi sử dụng lệnh “git clone” trong chế độ “—recurse-submodules” với các kho lưu trữ không được kiểm tra và khi sử dụng chế độ tương tác “git shell”. Bạn có thể theo dõi việc phát hành các bản cập nhật gói trong các bản phân phối trên các trang của Debian, Ubuntu, RHEL, SUSE/openSUSE, Fedora, Arch, FreeBSD.

  • CVE-2022-39253 - Lỗ hổng này cho phép kẻ tấn công kiểm soát nội dung của kho lưu trữ nhân bản có quyền truy cập vào dữ liệu bí mật trên hệ thống của người dùng bằng cách đặt các liên kết tượng trưng đến các tệp quan tâm trong thư mục $GIT_DIR/objects của kho lưu trữ nhân bản. Sự cố chỉ xuất hiện khi sao chép cục bộ (ở chế độ "--local", được sử dụng khi dữ liệu đích và nguồn của bản sao nằm trong cùng một phân vùng) hoặc khi sao chép kho lưu trữ độc hại được đóng gói dưới dạng mô-đun con trong kho lưu trữ khác (ví dụ: khi bao gồm đệ quy các mô-đun con bằng lệnh "git clone" --recurse-submodules").

    Lỗ hổng này xảy ra do trong chế độ nhân bản “--local”, git chuyển nội dung của $GIT_DIR/objects vào thư mục đích (tạo liên kết cứng hoặc bản sao của tệp), thực hiện hủy đăng ký các liên kết tượng trưng (nghĩa là như kết quả là các liên kết không mang tính biểu tượng sẽ được sao chép vào thư mục đích, nhưng trực tiếp là các tệp mà liên kết trỏ tới). Để chặn lỗ hổng này, các bản phát hành mới của git cấm sao chép các kho lưu trữ ở chế độ “--local” có chứa các liên kết tượng trưng trong thư mục $GIT_DIR/objects. Ngoài ra, giá trị mặc định của tham số Protocol.file.allow đã được thay đổi thành "user", điều này khiến cho các hoạt động nhân bản bằng giao thức file:// không an toàn.

  • CVE-2022-39260 - Tràn số nguyên trong hàm Split_cmdline() được sử dụng trong lệnh "git shell". Sự cố này có thể được sử dụng để tấn công những người dùng có “git shell” làm shell đăng nhập của họ và đã bật chế độ tương tác (tệp lệnh $HOME/git-shell-commands đã được tạo). Việc khai thác lỗ hổng có thể dẫn đến việc thực thi mã tùy ý trên hệ thống khi gửi lệnh được thiết kế đặc biệt có kích thước lớn hơn 2 GB.

Nguồn: opennet.ru

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