Chia sẻ đam mê công nghệ
Phần mềm

macOS 27.2.1 vá nốt lỗ hổng chứng chỉ eMudhra mà curl và git vẫn bỏ lọt

Apple phát hành macOS 27.2.1, 26.7.3 và 15.8.3 để các công cụ dòng lệnh như curl, git, openssl thôi tin chứng chỉ eMudhra bị lộ khóa, phần mà bản chặn tự động hồi tháng 10 chưa chạm tới.

Tóm tắt nhanh

  • Apple phát hành macOS 27.2.1, macOS 26.7.3 và macOS 15.8.3 ngày 9/11/2026, chặn các chứng chỉ eMudhra bị lộ khóa riêng ngay trong curl, git, python3, ruby, perl và openssl.
  • Từ ngày 19/10, Safari, Mail và các ứng dụng dùng khung mạng của Apple đã được chặn qua cập nhật cấu hình tự động; công cụ dòng lệnh thì không, vì chúng đọc thẳng tệp /etc/ssl/cert.pem.
  • Bản vá gỡ thêm 5 chứng chỉ gốc khỏi tệp này, trong đó có 3 chứng chỉ eMudhra nằm ngoài cách xử lý thủ công Apple hướng dẫn trước đó.
  • Ứng dụng tự mang danh sách CA riêng không được bản vá này che chắn; người dùng phải hỏi nhà phát triển của từng công cụ.

Apple vừa phát hành macOS 27.2.1, macOS 26.7.3 và macOS 15.8.3 để công cụ dòng lệnh trên Mac ngừng chấp nhận các chứng chỉ của eMudhra, công ty cấp chứng thư số của Ấn Độ có khóa riêng của tám CA trung gian bị lộ. Bản chặn tự động Apple đẩy xuống từ 19/10 và bổ sung ngày 23/10 chỉ bảo vệ phần ứng dụng giao diện, còn terminal của lập trình viên và quản trị viên vẫn hở suốt gần ba tuần.

Vì sao bản chặn tháng 10 không với tới curl và git

Logo Apple phát sáng đỏ trên nền mã nhị phân, minh hoạ lỗ hổng bảo mật macOS
Bản chặn tháng 10 chỉ phủ Safari, Mail và ứng dụng dùng khung của Apple; curl, git, openssl phải đợi macOS 27.2.1, 26.7.3 hoặc 15.8.3. Ảnh: 9to5Mac.

Apple chặn các chứng chỉ này bằng dữ liệu cấu hình gửi xuống máy tự động, nên người dùng không phải cài bản cập nhật hệ điều hành nào. Cơ chế đó có tác dụng với Safari, Mail và mọi ứng dụng gọi khung mạng và bảo mật của Apple. Điểm yếu nằm ở chỗ một số công cụ đi kèm macOS hoặc Xcode Command Line Tools, gồm curl, git, python3, ruby, perl và openssl, kiểm tra chứng chỉ dựa trên tệp /etc/ssl/cert.pem. Với chứng chỉ có chuỗi dẫn về một CA gốc nằm trong tệp đó, chúng không tra danh sách chặn của Apple, cũng không xét xem chứng chỉ đã bị thu hồi hay chưa.

Nói cách khác, eMudhra và Sectigo đã thu hồi các chứng chỉ bị ảnh hưởng, Apple đã chặn chúng ở lớp ứng dụng, nhưng một lệnh git clone hay curl trên Mac chưa cập nhật vẫn có thể coi chúng là hợp lệ. Vì thế trước ngày 9/11, câu “Mac đã nhận bản chặn tháng 10 nên an toàn” chỉ đúng với trình duyệt và ứng dụng thuần giao diện.

Tám CA bị lộ khóa, sáu CA cấp chứng chỉ TLS dùng được cho mọi website

Theo Apple, khóa riêng của tám CA trung gian do eMudhra vận hành đã bị lộ. Hai CA trong số đó cấp chứng chỉ ký mã, loại mà các khung của Apple vốn không tin. Sáu CA còn lại cấp chứng chỉ TLS, và ai nắm khóa của chúng có thể tạo chứng chỉ trông hợp lệ cho bất kỳ website nào. Mỗi CA TLS có hai chứng chỉ, tổng cộng 12 chứng chỉ bị chặn; một nhóm được emSign Root TLS CA – G3 cấp, nhóm còn lại do Sectigo ký chéo và dẫn về AAA Certificate Services.

Mức độ nghiêm trọng của lỗi đến từ cách khóa bị phát hiện. Cuộc điều tra do Mozilla khởi xướng cho thấy các chứng chỉ dùng giá trị khóa riêng nhỏ hơn 256, tức là rất dễ khôi phục. Ai có khóa của sáu CA TLS đều có thể dựng chứng chỉ giả, từ đó mạo danh website và chặn đọc dữ liệu người dùng gửi lên.

Với người làm phần mềm, kịch bản đáng lo nhất là tấn công xen giữa lúc máy kéo mã nguồn, tải gói thư viện hoặc gọi API qua dòng lệnh trong một mạng không đáng tin, chẳng hạn Wi-Fi quán cà phê hay mạng văn phòng dùng chung. Đây là suy luận từ cách các công cụ trên kiểm tra chứng chỉ, chưa có xác nhận về một vụ tấn công thực tế nào nhắm vào Mac.

Bản vá làm gì với tệp /etc/ssl/cert.pem

Từ macOS 27.2.1, hệ điều hành chặn 12 chứng chỉ trên ngay trong các công cụ dòng lệnh đi kèm macOS hoặc Xcode Command Line Tools. Nó đồng thời gỡ hai chứng chỉ gốc mà 12 chứng chỉ này dẫn về khỏi /etc/ssl/cert.pem, cùng ba chứng chỉ gốc eMudhra khác, tổng cộng 5 chứng chỉ gốc. Máy chạy macOS 26 nhận bảo vệ tương đương ở bản 26.7.3, máy chạy macOS 15 ở bản 15.8.3. Bản sửa cũng nằm trong macOS 27.3 beta, nhưng bản 27.2.1 giúp người dùng khỏi phải chờ đến tháng 12.

Cái giá của việc gỡ gốc là công cụ chỉ dùng tệp này có thể không xác minh được một số website có chứng chỉ dẫn về các gốc bị gỡ qua những CA trung gian không bị ảnh hưởng. Apple chọn chấp nhận rủi ro đó, và với hầu hết người dùng thì tác động thực tế khó thấy.

Chưa thể cập nhật thì phải gỡ chứng chỉ gốc bằng tay

Apple vẫn giữ hướng dẫn thủ công cho máy chưa lên được macOS 27.2.1, 26.7.3 hoặc 15.8.3, chẳng hạn máy do tổ chức quản lý chưa duyệt bản cập nhật. Người dùng cần tài khoản quản trị, sao lưu tệp /etc/ssl/cert.pem trước, rồi dùng lệnh do Apple cung cấp để gỡ emSign ECC Root CA – G3. Gỡ riêng chứng chỉ này chưa đủ để chặn sáu chứng chỉ do Sectigo ký chéo, vì các công cụ vẫn có thể xác minh chúng qua AAA Certificate Services; muốn chặn nốt thì phải gỡ cả AAA Certificate Services. Sau mỗi lần cập nhật phần mềm, Apple khuyên chạy lại lệnh kiểm tra bên dưới và lặp lại các bước nếu chứng chỉ đã gỡ xuất hiện lại.

openssl crl2pkcs7 -nocrl -certfile /etc/ssl/cert.pem | openssl pkcs7 -print_certs -noout | grep -E 'emSign ECC Root CA - G3|AAA Certificate Services'

Lệnh này liệt kê chứng chỉ nào còn nằm trong tệp; nếu đã gỡ cả hai thì không in gì. Gỡ AAA Certificate Services cũng ảnh hưởng đến mọi công cụ dùng tệp này, nên người quản lý nhiều máy nên thử trên một máy trước.

Cập nhật macOS chưa phải là xong với máy dev

Apple nói rõ một số ứng dụng và công cụ tự gói danh sách chứng chỉ gốc riêng, không dùng danh sách chặn của Apple lẫn tệp /etc/ssl/cert.pem. Với nhóm này, người dùng cần liên hệ nhà phát triển công cụ. Apple không nêu tên công cụ cụ thể, nhưng với máy dev thì việc cần làm là rà những thứ cài ngoài bộ công cụ hệ thống, như runtime ngôn ngữ, trình quản lý gói hay công cụ container, xem chúng dùng kho chứng chỉ của hệ điều hành hay kho tự đóng gói. Cài macOS 27.2.1 mà không rà bước này thì chỉ che được phần Apple kiểm soát.

Người dùng Mac tại Việt Nam cần làm gì

Bản cập nhật miễn phí và phát hành toàn cầu, nên máy ở Việt Nam nhận được từ rạng sáng 10/11 theo giờ địa phương. Vào Cài đặt hệ thống, chọn Cài đặt chung, rồi Cập nhật phần mềm để tải về. Người chỉ dùng Safari và Mail đã được bảo vệ từ tháng 10 và chưa bị thúc ép, còn ai thường xuyên chạy git, curl hay các script gọi HTTPS trên Mac, đặc biệt là kỹ sư DevOps quản lý nhiều máy, nên cài sớm. Sau khi lên 27.2.1, 26.7.3 hoặc 15.8.3 thì không cần lặp lại các bước thủ công; Apple khuyên xóa bản sao lưu tệp cert.pem cũ và không khôi phục bản sao lưu tạo trước khi cập nhật.

Nguồn tham khảo: Apple Support, 9to5Mac, MacRumors

Bài này thế nào?

Hoá đơn của bài này

Tek viết bài này bằng cà phê. Mời Tek một ly nha?

Theo dõi TekCafe: Facebook · YouTube

Bài viết mới nhất