Trang chủ Bài viết Bảo mật Git phát hành bản vá cho 6 lỗ hổng bảo mật nghiêm trọng
Bảo mật 11/11/2026 4 lượt xem

Git phát hành bản vá cho 6 lỗ hổng bảo mật nghiêm trọng

Git phát hành bản vá cho 6 lỗ hổng bảo mật nghiêm trọng

Dự án Git vừa phát hành loạt phiên bản mới để xử lý 6 lỗ hổng bảo mật, trong đó có nguy cơ thực thi mã tùy ý khi clone đệ quy một kho chứa độc hại, ghi vào các file ngoài ý muốn, và hỏng bộ nhớ khi xử lý thao tác merge hoặc áp dụng binary patch.

Các bản vá có trong Git 2.56.1, đồng thời được backport về Git 2.55.1, 2.54.1, 2.53.1, 2.52.1, 2.51.3 và 2.50.2. Người dùng nên nâng cấp lên Git 2.56.1 hoặc bản vá tương ứng của nhánh bảo trì đang dùng, và cập nhật cả những ứng dụng có tích hợp sẵn Git.

Các lỗ hổng chính

  • CVE-2026-111760: Lỗi cắt cụt số nguyên trong xử lý index khiến đường dẫn cực dài vượt qua kiểm tra dưới một tên nhưng lại được ghi với tên ngắn hơn. Kẻ tấn công có thể lợi dụng để thay file .git của submodule bằng symbolic link trỏ tới thư mục chứa cấu hình hoặc hook độc hại, dẫn tới thực thi mã trong lúc clone đệ quy.
  • CVE-2026-113408: Khi clone kho rỗng qua Git protocol v2, máy chủ có thể quảng bá HEAD symref trỏ tới nhánh chưa có commit. Git không kiểm tra đích của symref trước khi lưu cục bộ, nên máy chủ độc hại có thể chèn tên chứa thành phần path traversal và ghi file ra ngoài thư mục reference dự kiến.
  • CVE-2026-114467: Khi loại bỏ chữ ký GPG, Git giả định có tối đa hai chữ ký. Một thông điệp được tạo đặc biệt với nhiều hơn hai chữ ký có thể ghi vượt mảng cố định trên stack, gây hỏng bộ nhớ và nguy cơ từ chối dịch vụ, kể cả trên dịch vụ hosting merge thay người dùng.
  • CVE-2026-114469: Git từ chối patch lớn hơn khoảng 1 GiB, nhưng kiểm tra chỉ dựa trên kích thước patch cung cấp. Vì binary patch được nén và mã hóa, patch nhỏ có thể giải nén vượt giới hạn, gây đọc ngoài biên và làm Git bị crash.
  • CVE-2026-105437: Cơ chế merge tính trước dung lượng bộ nhớ cần cho kết quả, phép tính có thể tràn khi kết quả rất lớn, đặc biệt khi nhiều xung đột kết hợp với thuộc tính conflict-marker-size lớn. Hệ quả là cấp phát buffer quá nhỏ rồi ghi vượt, làm hỏng heap.
  • CVE-2026-114466: Một số tính năng của git fast-import như rewrite-submodules-from, rewrite-submodules-to và export-pack-edges có thể đọc file tùy ý hoặc tạo, ghi thêm dữ liệu vào file. Các tính năng này giờ bị từ chối khi xuất hiện trong luồng đầu vào không tin cậy, trừ khi bật rõ ràng --allow-unsafe-features.

Tăng cường bảo vệ

Bản phát hành còn bổ sung kiểm tra tràn số cho việc cấp phát index trong lúc checkout và xử lý cây, bổ trợ cho giới hạn độ dài đường dẫn nêu trên, ngăn kích thước cấp phát bị cắt cụt trước khi Git sao chép đường dẫn vào bộ nhớ.

Với người dùng GitHub, các bản vá đã được triển khai trên github.com, GitHub Enterprise Cloud và GitHub Enterprise Cloud có data residency. GitHub Enterprise Server nhận bản cập nhật ở các phiên bản 3.19.15, 3.20.11, 3.21.9 và 3.22.4. GitHub cũng phối hợp phát hành GitHub Desktop và ứng dụng GitHub Copilot tích hợp Git đã vá, đồng thời GitHub Codespaces và GitHub Actions cũng sẽ nhận phiên bản Git đã vá.

Khuyến nghị

Cập nhật là cách bảo vệ hiệu quả nhất. Người dùng nên cài bản vá từ hệ điều hành hoặc nhà phân phối Git, cập nhật các ứng dụng đóng gói sẵn Git, và quản trị viên cũng cần cập nhật Git dùng cho tự động hóa và các dịch vụ xử lý kho chứa thay người dùng. Nếu chưa thể cập nhật ngay, chỉ nên clone từ máy chủ tin cậy, tránh clone đệ quy kho không tin cậy, tránh merge nội dung hoặc tag không tin cậy, và không xử lý binary patch hay luồng fast-import từ nguồn lạ. Các biện pháp tạm thời này không thay thế việc cài bản vá.

Nguồn: GitHub Blog

Trích nguồn từ: GitHub Blog

Chia sẻ:

Bài viết liên quan

Zalo