CVE-2026-65400: Cánh cửa mở cho bất kỳ ai, không cần mật khẩu
Nghe như viễn tưởng. Một kẻ lạ, ở bất kỳ đâu trên thế giới, chỉ cần quét thấy cổng 5900 mở trên máy Mac của bạn, sau đó gửi một chuỗi dữ liệu đặc biệt, và ngồi vào trước màn hình của bạn như ngồi vào ghế của chính mình. Không cần mật khẩu. Không cần lừa đảo. Không cần người dùng click vào bất cứ thứ gì. Đây không phải là kịch bản trong phim. Đây là CVE-2026-65400, một lỗ hổng nghiêm trọng trong tính năng Screen Sharing của macOS, vừa được vá trong bản macOS 26.6.1 nhưng PoC đã được công bố rộng rãi. Và như tôi thường nói: Mở thì dễ, đóng lại là chuyện khác.
Screen Sharing là một tính năng có sẵn trên macOS, cho phép người dùng điều khiển từ xa một máy Mac khác. Về bản chất, nó là một triển khai VNC (Virtual Network Computing) với giao diện hiện đại của Apple. Khi được bật, hệ thống chạy tiến trình có tên screensharingd, lắng nghe trên cổng 5900 và một số cổng phụ khác. Tính năng này thường được dùng trong gia đình để hỗ trợ giữa hai máy Mac, hoặc trong doanh nghiệp để nhân viên IT kết nối và sửa lỗi máy của nhân viên. Thống kê từ nhiều năm cho thấy, trong các công ty sử dụng macOS, tỷ lệ bật Screen Sharing thông qua chính sách quản trị (MDM) có thể lên tới 30-40%. Nhiều người dùng không hề hay biết máy của mình đang chạy dịch vụ này. Và đó chính là mảnh đất màu mỡ cho kẻ tấn công.
Đừng vội nghĩ rằng lỗ hổng VNC là chuyện cũ. Các lỗ hổng trong VNC có ở khắp mọi nơi, từ bản fork TigerVNC cho đến thiết bị IoT. Nhưng CVE-2026-65400 không giống những lỗ hổng bình thường. Thứ nhất, nó nằm trong một sản phẩm mà Apple kiểm soát toàn bộ: macOS. Thứ hai, nó không yêu cầu người dùng phải làm gì. Kẻ tấn công chỉ cần kết nối đến cổng 5900, thực hiện một cuộc "bắt tay" qua giao thức VNC, và trong bước xác thực, chúng gửi một chuỗi rỗng hoặc một chuỗi được mã hóa đặc biệt. Kết quả: hệ thống coi chúng là người dùng hợp lệ. Đây là lỗi xác thực (authentication bypass) – loại lỗi mà chuyên gia bảo mật gọi là "chìa khóa vạn năng". Không có mật khẩu không có nghĩa là không có cửa.
Vì sao lỗi này lọt qua vòng kiểm tra? Lý do nằm ở đặc thù giao thức VNC. VNC có nhiều phương thức xác thực: kiểu mật khẩu đơn giản, kiểu challenge-response, kiểu mã hóa mạnh hơn. macOS hỗ trợ nhiều phương thức để tương thích với các máy khách cũ. Chính trong các nhánh xử lý tương thích này, lập trình viên thường để lại những "lối đi" không an toàn. Khi một điều kiện kiểm tra sai, chương trình sẽ rơi vào trạng thái "đã xác thực". Đây là một sai lầm kinh điển: dùng logic "nếu không sai, thì đúng" thay vì "nếu sai thì từ chối".

Hãy nhìn vào con số. Theo dữ liệu từ Shodan – một công cụ tìm kiếm thiết bị trực tuyến – có hàng nghìn máy Mac đang mở cổng 5900 và có thể truy cập từ internet. Kẻ tấn công không cần phải nhắm vào một cá nhân cụ thể. Chúng chỉ cần chạy một script quét toàn mạng, tìm ra những máy dính lỗ hổng, rồi khai thác. Sau đó, chúng có thể cài ransomware, đánh cắp dữ liệu, cài backdoor để duy trì quyền truy cập. Với doanh nghiệp, một khi máy bị xâm nhập, toàn bộ mạng nội bộ có thể bị thâm nhập. Điều này tương tự như BlueKeep (CVE-2019-0708) trên Windows từng khiến CISA phải phát cảnh báo khẩn cấp. Nhưng lần này, nó nằm trên máy Mac – thứ mà nhiều người vẫn tin là "an toàn tuyệt đối".
Bản vá Apple phát hành trong macOS 26.6.1 có hiệu quả, nhưng có triệt để không? Tôi không thể khẳng định chắc chắn vì Apple không công bố chi tiết kỹ thuật. Nhưng lịch sử các lỗ hổng bảo mật cho thấy: sửa một nhánh logic thường để sót các nhánh khác, vì mã nguồn VNC quá phức tạp. Điều tôi muốn nói: vá là cần thiết, nhưng không đủ. Nếu bạn đã bật Screen Sharing, hãy tự hỏi: "Tôi có thực sự cần nó không?" Nếu không, hãy tắt nó ngay lập tức. Đây giống như nguyên tắc cắt lỗ trong giao dịch tài chính: không có gì xấu hổ khi mất vài điểm phần trăm, nhưng cực kỳ xấu hổ khi mất toàn bộ tài khoản vì không chấp nhận sai lầm. An toàn không phải là một trạng thái, nó là một quyết định.
Bạn có thể kiểm tra nhanh máy mình bằng cách vào System Settings -> General -> Sharing -> Screen Sharing. Nếu nó đang bật, hãy tắt hoặc chỉ cho phép các mạng tin cậy. Hãy bật tường lửa (Firewall) và chặn kết nối đến cổng 5900 từ bên ngoài. Với công ty quản lý nhiều máy Mac, hãy dùng MDM để quét toàn bộ và vô hiệu hóa tính năng này ở những máy không có nhu cầu chính đáng. Đừng đợi đến khi có sự cố mới hành động.
Một điểm mù phổ biến: nhiều người nghĩ "tôi không bật Screen Sharing, nên tôi không bị ảnh hưởng". Sai lầm. Thứ nhất, bạn có thể đã bật mà không biết, bởi một người quen cài đặt giúp, hoặc do một phần mềm tự cài đặt. Thứ hai, doanh nghiệp thường bật tính năng này thông qua MDM mà không hỏi người dùng cuối. Thứ ba, lỗ hổng có thể bị khai thác thông qua các vectơ khác: người dùng bị lừa cài đặt một phần mềm giả mạo, phần mềm đó tự bật Screen Sharing và tạo tài khoản admin riêng. Một khi kẻ tấn công có quyền truy cập, chúng có thể làm mọi thứ. Và điều quan trọng nhất: nhiều người vẫn tin "Mac không bao giờ bị virus". Họ quên rằng macOS không an toàn hơn Windows trong tuyệt đối, nó chỉ ít bị nhắm đến hơn vì thị phần thấp hơn. Khi các nhóm khai thác chuyên nghiệp bắt đầu xây dựng công cụ tấn công cho macOS, mức độ tàn phá sẽ còn lớn hơn vì người dùng quá chủ quan.
Có một góc nhìn khác mà tôi muốn chia sẻ. Đây không chỉ là câu chuyện về một lỗ hổng kỹ thuật. Đây là câu chuyện về niềm tin và sự kiểm soát. Trong thế giới DeFi, tôi học được rằng: khi bạn gửi tiền vào một smart contract, bạn đang tin tưởng code. Nếu code có lỗi, bạn mất tiền. Ở đây, khi bạn gửi dữ liệu cho một dịch vụ trên macOS, bạn đang tin tưởng Apple và tin tưởng cấu hình của chính mình. Nhưng sự tin tưởng đó cần được kiểm chứng bằng hành động. Kiểm tra cổng mở, kiểm tra dịch vụ đang chạy, kiểm tra log truy cập. Trong /var/log/system.log hoặc /var/log/secure.log, bạn có thể tìm thấy các kết nối bất thường đến cổng 5900. Lệnh last sẽ cho thấy các phiên đăng nhập bất thường. Hãy học cách đọc các dấu hiệu này trước khi quá muộn.
Còn một điều nữa: đừng bao giờ nghĩ "tôi không phải mục tiêu". Bot quét mạng không phân biệt bạn là ai. Chúng quét toàn bộ không gian địa chỉ IP. Nếu cổng của bạn mở, bạn là mục tiêu. Xác suất bị khai thác cao hay thấp tùy thuộc vào mức độ phơi bày, không phụ thuộc vào giá trị cá nhân của bạn. Đây là lý do vì sao tôi luôn áp dụng quy tắc "kill switch" – biết chính xác cách vô hiệu hóa một dịch vụ khi có nguy cơ, và thực hiện ngay khi cần.

Cuối cùng, hãy đặt câu hỏi thế này: lần cuối cùng bạn kiểm tra các dịch vụ đang chạy trên máy tính của mình là khi nào? Nếu bạn không nhớ, thì đó chính là vấn đề. Cánh cửa có thể đang mở sẵn. Hãy đóng nó lại trước khi ai đó bước vào.
