Dự án quản lý phiên bản mã nguồn Git vừa phát hành bản vá khẩn cấp cho lỗ hổng CVE-2025-48384. Lỗ hổng cho phép kẻ tấn công thực thi mã tùy ý trên máy trạm của lập trình viên ngay khi họ thực hiện thao tác clone một repository có chứa các submodule bị chế tác đặc biệt.

📋 Thuộc Tính Lỗ Hổng:

Mã Lỗ HổngCVE-2025-48384
Điểm CVSS8.8 / High
Lệnh Kích Hoạtgit clone --recurse-submodules hoặc git submodule update
Phần Mềm Bị Ảnh HưởngGit trên Windows, macOS và Linux phiên bản trước 2.47.2

1. Nguyên nhân lỗi: Ký tự Carriage Return (\\r) trong tệp .gitmodules

Khi Git phân tích tệp cấu hình .gitmodules để khởi tạo đường dẫn cho các submodule con, trình phân tích cú pháp không xử lý triệt để ký tự xuống dòng kiểu Windows (\\r\\n). Kẻ tấn công có thể chèn các tham số dòng lệnh bí mật vào tên submodule:

[submodule "evil\r\n\turl = ssh://-oProxyCommand=sh -c 'id'//foo"]
    path = evil
    url = https://github.com/example/repo

Khi Git đệ quy khởi tạo submodule, lệnh SSH được gọi kèm theo cờ -oProxyCommand đã được tiêm vào, dẫn đến việc shell của hệ điều hành tự động thực thi payload độc hại mà không cần người dùng can thiệp.

2. Biện pháp khắc phục cho cộng đồng lập trình viên

  • Cập nhật Git Client: Nâng cấp ngay ứng dụng Git lên phiên bản mới nhất (2.47.2+ hoặc 2.48.x).
  • Cẩn trọng khi clone với cờ đệ quy: Kiểm tra kỹ tệp .gitmodules trước khi sử dụng cờ --recurse-submodules trên các repo công cộng.