Cập nhật Git với 8 lỗ hổng đã được sửa

Đượ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.24.1, 2.23.1, 2.22.2, 2.21.1, 2.20.2, 2.19.3, 2.18.2, 2.17.3, 2.16.6, 2.15.4 và 2.14.62.24.1 .XNUMX, sửa các lỗ hổng cho phép kẻ tấn công viết lại các đường dẫn tùy ý trong hệ thống tệp, tổ chức thực thi mã từ xa hoặc ghi đè các tệp trong thư mục “.git/”. Hầu hết các vấn đề được nhân viên xác định
Trung tâm phản hồi bảo mật của Microsoft, năm trong số tám lỗ hổng dành riêng cho nền tảng Windows.

  • CVE-2019-1348 — lệnh phát trực tiếp “featureexport-marks=path”cho phép ghi nhãn vào các thư mục tùy ý, có thể được sử dụng để ghi đè các đường dẫn tùy ý trong hệ thống tệp khi thực hiện thao tác "nhập nhanh git" với dữ liệu đầu vào không được kiểm tra.
  • CVE-2019-1350 - thoát sai đối số dòng lệnh có thể dẫn để thực thi mã kẻ tấn công từ xa trong quá trình sao chép đệ quy bằng URL ssh://. Cụ thể, việc thoát các đối số kết thúc bằng dấu gạch chéo ngược (ví dụ: “test \”) đã được xử lý không chính xác. Trong trường hợp này, khi đóng khung một đối số bằng dấu ngoặc kép, dấu ngoặc kép cuối cùng đã được thoát, điều này giúp bạn có thể tổ chức thay thế các tùy chọn của mình trên dòng lệnh.
  • CVE-2019-1349 — khi sao chép đệ quy các mô-đun con (“clone —recurse-submodules”) trong môi trường Windows trong một số điều kiện nhất định nó có thể là kích hoạt việc sử dụng cùng một thư mục git hai lần (.git, git~1, git~2 và git~N được công nhận là một thư mục trong NTFS, nhưng tình huống này chỉ được thử nghiệm cho git~1), có thể được sử dụng để tổ chức ghi vào thư mục ". git". Ví dụ: để tổ chức thực thi mã của mình, kẻ tấn công có thể thay thế tập lệnh của mình thông qua trình xử lý hậu kiểm tra trong tệp .git/config.
  • CVE-2019-1351 — trình xử lý tên ổ đĩa chữ cái trong đường dẫn Windows khi dịch các đường dẫn như “C:\” chỉ được thiết kế để thay thế các mã định danh tiếng Latin gồm một chữ cái, nhưng không tính đến khả năng tạo ổ đĩa ảo được gán thông qua “chữ cái phụ:đường dẫn” . Các đường dẫn như vậy không được coi là tuyệt đối mà là các đường dẫn tương đối, điều này giúp khi nhân bản một kho lưu trữ độc hại, có thể sắp xếp một bản ghi trong một thư mục tùy ý bên ngoài cây thư mục làm việc (ví dụ: khi sử dụng số hoặc ký tự unicode trong đĩa tên - “1:\what\the\ hex.txt" hoặc "ä:\tschibät.sch").
  • CVE-2019-1352 — khi làm việc trên nền tảng Windows, việc sử dụng các luồng dữ liệu thay thế trong NTFS, được tạo bằng cách thêm thuộc tính “:stream-name:stream-type” vào tên tệp, cho phép ghi đè các tệp trong thư mục ".git/" khi sao chép kho lưu trữ độc hại. Ví dụ: tên ".git::$INDEX_ALLOCATION" trong NTFS được coi là liên kết hợp lệ tới thư mục ".git".
  • CVE-2019-1353 — khi sử dụng Git trong môi trường WSL (Hệ thống con Windows cho Linux) khi truy cập vào thư mục làm việc không được sử dụng bảo vệ chống thao túng tên trong NTFS (có thể xảy ra các cuộc tấn công thông qua dịch tên FAT, ví dụ: “.git” có thể được truy cập thông qua thư mục “git~1”).
  • CVE-2019-1354 -
    cơ hội ghi vào thư mục ".git/" trên nền tảng Windows khi sao chép các kho lưu trữ độc hại chứa các tệp có dấu gạch chéo ngược trong tên (ví dụ: "a\b"), được chấp nhận trên Unix/Linux, nhưng được chấp nhận như một phần của đường dẫn trên Windows.

  • CVE-2019-1387 - việc kiểm tra tên mô-đun con không đầy đủ có thể được sử dụng để tổ chức các cuộc tấn công có mục tiêu, nếu được sao chép đệ quy, có thể có khả năng có thể dẫn để thực thi mã của kẻ tấn công. Git không ngăn việc tạo một thư mục mô-đun con trong thư mục của mô-đun con khác, điều này trong hầu hết các trường hợp sẽ chỉ dẫn đến nhầm lẫn, nhưng không có khả năng ngăn nội dung của mô-đun khác bị ghi đè trong quá trình sao chép đệ quy (ví dụ: các thư mục mô-đun con "hippo" và "hippo/hooks" được đặt ở dạng " .git/modules/hippo/" và ".git/modules/hippo/hooks/", đồng thời thư mục hook trong hà mã có thể được sử dụng riêng để lưu trữ các hook được kích hoạt.

Người dùng Windows nên cập nhật ngay phiên bản Git của họ và không sao chép các kho lưu trữ chưa được xác minh cho đến khi cập nhật. Nếu chưa thể khẩn trương cập nhật phiên bản Git, thì để giảm nguy cơ bị tấn công, không nên chạy “git clone —recurse-submodules” và “git submodule update” với kho không được kiểm tra, không sử dụng “git nhập nhanh” với các luồng đầu vào không được kiểm tra và không sao chép kho lưu trữ vào các phân vùng dựa trên NTFS.

Để tăng cường bảo mật, các bản phát hành mới cũng cấm sử dụng cấu trúc có dạng "submodule.{name}.update=!command" trong .gitmodules. Đố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, ALT, FreeBSD.

Nguồn: opennet.ru

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