Phát hiện XNUMX lỗ hổng trong Git dẫn đến rò rỉ và ghi đè dữ liệu

dễ bị tổn thương

Nếu bị khai thác, những lỗ hổng này có thể cho phép kẻ tấn công truy cập trái phép vào thông tin nhạy cảm hoặc thường gây ra sự cố

Gần đây việc xuất bản các phiên bản sửa chữa khác nhau đã được công bố Hệ thống kiểm soát nguồn phân tán Git kéo dài từ phiên bản 2.38.4 đến phiên bản 2.30.8, chứa hai bản sửa lỗi loại bỏ các lỗ hổng đã biết ảnh hưởng đến tối ưu hóa bản sao cục bộ và lệnh "git apply".

Như vậy, người ta đề cập rằng các bản phát hành bảo trì này là để giải quyết hai vấn đề bảo mật được xác định theo CVE-2023-22490 và CVE-2023-23946. Cả hai lỗ hổng đều ảnh hưởng đến phạm vi phiên bản hiện có và người dùng được khuyến khích cập nhật tương ứng.

Kẻ tấn công có thể khai thác từ xa lỗ hổng để dò tìm thông tin. Ngoài ra, kẻ tấn công có thể
khai thác lỗ hổng cục bộ để thao tác tệp.

Đặc quyền bình thường được yêu cầu để khai thác các lỗ hổng. Cả hai lỗ hổng đều yêu cầu sự tương tác của người dùng.

Lỗ hổng được xác định đầu tiên là CVE-2023-22490, mà 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 nhạy cảm trên hệ thống của người dùng. Hai sai sót góp phần vào lỗ hổng:

  • Lỗ hổng đầu tiên cho phép, khi làm việc với kho lưu trữ được xây dựng có mục đích, đạt được việc sử dụng tối ưu hóa nhân bản cục bộ ngay cả khi sử dụng phương tiện vận chuyển tương tác với các hệ thống bên ngoài.
  • Lỗ hổng thứ hai cho phép đặt một liên kết tượng trưng thay vì thư mục $GIT_DIR/objects, tương tự như lỗ hổng CVE-2022-39253 đã chặn việc đặt các liên kết tượng trưng trong thư mục $GIT_DIR/objects, nhưng thực tế là $GIT_DIR/objects bản thân thư mục không được kiểm tra có thể là một liên kết tượng trưng.

Trong chế độ sao chép cục bộ, git di chuyển $GIT_DIR/objects tới thư mục đích bằng cách hủy tham chiếu các liên kết tượng trưng, ​​khiến các tệp được tham chiếu được sao chép trực tiếp vào thư mục đích. Việc chuyển sang sử dụng tối ưu hóa bản sao cục bộ cho truyền tải không cục bộ cho phép khai thác lỗ hổng khi làm việc với các kho lưu trữ bên ngoài (ví dụ: bao gồm đệ quy các mô hình con bằng lệnh "git clone --recurse-submodules" có thể dẫn đến sao chép kho lưu trữ độc hại được đóng gói dưới dạng mô hình con trong kho lưu trữ khác).

Sử dụng kho lưu trữ được chế tạo đặc biệt, Git có thể bị lừa sử dụng tối ưu hóa bản sao cục bộ của nó ngay cả khi sử dụng phương tiện vận chuyển không cục bộ.
Mặc dù Git sẽ hủy các bản sao cục bộ có nguồn $GIT_DIR/đối tượng thư mục chứa các liên kết tượng trưng (cf, CVE-2022-39253), các đối tượng của bản thân thư mục vẫn có thể là một liên kết tượng trưng.

Hai cái này có thể được kết hợp để bao gồm các tệp tùy ý dựa trên đường dẫn trong hệ thống tệp của nạn nhân trong kho lưu trữ độc hại và bản sao làm việc, cho phép trích xuất dữ liệu tương tự như
CVE-2022-39253.

Lỗ hổng thứ hai được phát hiện là CVE-2023-23946 và điều này cho phép ghi đè lên nội dung của các tệp bên ngoài thư mục làm việc bằng cách chuyển một đầu vào được định dạng đặc biệt tới lệnh "git apply".

Ví dụ: một cuộc tấn công có thể được thực hiện khi các bản vá do kẻ tấn công chuẩn bị được xử lý trong git apply. Để ngăn các bản vá tạo tệp bên ngoài bản sao làm việc, "git apply" chặn xử lý các bản vá cố ghi tệp bằng liên kết tượng trưng. Nhưng sự bảo vệ này hóa ra đã bị phá vỡ bằng cách tạo một liên kết tượng trưng ngay từ đầu.

Fedora 36 và 37 có các bản cập nhật bảo mật ở trạng thái 'thử nghiệm' cập nhật 'git' lên phiên bản 2.39.2.

Các lỗ hổng cũng họ giải quyết bằng GitLab 15.8.2, 15.7.7 và 15.6.8 trong Phiên bản cộng đồng (CE) và Phiên bản doanh nghiệp (EE).

GitLab phân loại các lỗ hổng là nghiêm trọng vì CVE-2023-23946 cho phép thực thi mã chương trình tùy ý trong môi trường Gitaly (dịch vụ Git RPC).
Đồng thời, nhúng Python sẽ được Cập nhật lên phiên bản 3.9.16 để sửa nhiều lỗ hổng hơn.

Cuối cùng Đối với những người quan tâm để biết thêm về nó, 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 DebianUbuntuRHELSUSE/openSUSEFedoraArchFreeBSD.

Nếu không thể cài đặt bản cập nhật, thì một giải pháp thay thế được khuyến nghị là tránh chạy “git clone” với tùy chọn “–recurse-submodules” trên các kho lưu trữ không đáng tin cậy và không sử dụng các lệnh “git apply” và “git am” với mã chưa được xác minh.


Để lại bình luận của bạn

địa chỉ email của bạn sẽ không được công bố. Các trường bắt buộc được đánh dấu bằng *

*

*

  1. Chịu trách nhiệm về dữ liệu: AB Internet Networks 2008 SL
  2. Mục đích của dữ liệu: Kiểm soát SPAM, quản lý bình luận.
  3. Hợp pháp: Sự đồng ý của bạn
  4. Truyền thông dữ liệu: Dữ liệu sẽ không được thông báo cho các bên thứ ba trừ khi có nghĩa vụ pháp lý.
  5. Lưu trữ dữ liệu: Cơ sở dữ liệu do Occentus Networks (EU) lưu trữ
  6. Quyền: Bất cứ lúc nào bạn có thể giới hạn, khôi phục và xóa thông tin của mình.