Git trên macOS vẫn tin tưởng chứng chỉ eMudhra bị xâm phạm sau 10 ngày
Apple đã được thông báo về sự cố eMudhra từ ngày 17/10, nhưng đến 28/10, các công cụ lập trình đi kèm macOS như git, curl và python3 vẫn chấp nhận chứng chỉ bị xâm phạm. Nghiêm trọng hơn, bản cập nhật macOS 27.2 còn vô hiệu hóa cách khắc phục thủ công của người dùng, khiến các kết nối HTTPS có thể bị chặn và chỉnh sửa.
Git trên macOS vẫn tin tưởng chứng chỉ eMudhra bị xâm phạm sau 10 ngày
Apple đã được thông báo về sự cố chứng chỉ eMudhra từ ngày 17/10. Thế nhưng tính đến ngày 28/10, các công cụ lập trình mà Apple phát hành kèm macOS — bao gồm git, curl và python3 — vẫn tiếp tục tin tưởng các chứng chỉ đã bị xâm phạm.
Tệ hơn, bản macOS 27.2 phát hành ngày 26/10 không những không khắc phục được lỗi mà còn vô hiệu hóa cách xử lý thủ công mà người dùng đã tự áp dụng trước đó, đẩy họ trở lại trạng thái dễ bị tấn công.
Hậu quả: mọi kết nối HTTPS đều có thể bị chặn
Trong khi đó, hàng chục dự án mã nguồn mở khác — nhiều dự án do tình nguyện viên vận hành — đã tung ra bản vá từ nhiều ngày trước. Với tình trạng hiện tại, bất kỳ ai cũng có thể can thiệp vào mọi kết nối HTTPS do các công cụ này tạo ra.
Đối với git, rủi ro bao gồm:
- Lệnh clone và pull từ các remote
https://có thể tải về mã độc do kẻ tấn công lựa chọn. - Lệnh push có thể bị chỉnh sửa trên đường truyền.
- Thông tin đăng nhập của bạn, ví dụ như token GitHub, có thể bị đánh cắp.
Kiểm tra xem git của bạn có bị ảnh hưởng không
Bạn có thể tự kiểm tra bằng một lệnh đơn giản. Nếu git báo lỗi chứng chỉ, tức là git của bạn đã được bảo vệ. Ngược lại, nếu git liệt kê ra một commit, nghĩa là git của bạn đang bị ảnh hưởng và các kết nối tới GitHub hay bất kỳ remote https:// nào khác đều có thể bị chặn và làm giả.
Mô phỏng một cuộc tấn công từ đầu đến cuối
Để quan sát toàn bộ kịch bản tấn công, bạn có thể chạy một lệnh trong thư mục tạm. Lệnh này clone một kho lưu trữ từ máy chủ thử nghiệm đóng giả GitHub. Tùy chọn -c chỉ chuyển hướng github.com sang máy chủ thử nghiệm trong phạm vi một lệnh duy nhất. Máy chủ này trình ra một chứng chỉ github.com được cấp bởi một trong các chứng chỉ trung gian eMudhra đã bị xâm phạm.
Nếu git đã được vá, nó sẽ từ chối với lỗi chứng chỉ. Nếu lệnh clone thành công, bạn sẽ thấy một tệp
README.mdbắt đầu bằng dòng chữ INTERCEPTED (đã bị chặn).
Kẻ tấn công thực sự không cần đến tùy chọn bổ sung đó. Bất kỳ ai nằm trên đường truyền giữa bạn và GitHub đều có thể tự chuyển hướng lưu lượng của bạn.
Bạn có thể thay kho lưu trữ demo bằng bất kỳ kho công khai hoặc riêng tư nào khác. Hãy giữ nguyên tiền tố fake-user@. Nếu không có tiền tố này, git sẽ gửi thông tin đăng nhập GitHub của bạn tới máy chủ thử nghiệm.
curl và python3 cũng bị ảnh hưởng tương tự
Các công cụ khác mà Apple phát hành như curl, python3 cũng gặp vấn đề y hệt. Bạn có thể kiểm tra curl theo cách tương tự: nếu curl báo lỗi chứng chỉ, tức là nó đã được bảo vệ.
Đáng chú ý, Apple đã bảo vệ Safari và các ứng dụng khác xây dựng trên framework mạng của họ. Vấn đề chỉ còn tồn đọng ở nhóm công cụ dành cho lập trình viên.
Cần một bản vá khẩn cấp
Apple cần sớm phát hành bản vá cho các nhà phát triển dùng macOS, chẳng hạn bằng cách loại bỏ các chứng chỉ gốc bị ảnh hưởng khỏi tệp /etc/ssl/cert.pem.
Người dùng có thể tự xóa các chứng chỉ gốc này bằng tay theo hướng dẫn khắc phục trên trang chủ của sự cố. Tuy nhiên, theo hướng dẫn của chính Apple, các bản cập nhật macOS có thể khôi phục lại các chứng chỉ này. Vì vậy, các nhà phát triển cần lặp lại bước kiểm tra và khắc phục thủ công sau mỗi lần cập nhật cho đến khi Apple phát hành bản vá chính thức.
Lưu ý cho các đội ngũ bảo mật tại Việt Nam
Các đội ngũ bảo mật nên rà soát xem hệ thống CI hoặc hạ tầng build của mình có sử dụng macOS runner hay không và đánh giá rủi ro trong chuỗi cung ứng. Với các doanh nghiệp công nghệ tại Việt Nam thường xuyên dùng GitHub Actions và máy chủ macOS để build ứng dụng iOS, đây là điểm cần kiểm tra ngay, bởi một máy runner bị chặn kết nối có thể dẫn tới việc mã độc lọt vào sản phẩm cuối cùng.


