Xray-core che giấu lỗ hổng bỏ qua xác minh chứng chỉ suốt nửa năm

Công nghệ04 tháng 10, 2026·5 phút đọc

Phần mềm proxy phổ biến Xray-core bị cáo buộc che giấu lỗ hổng bỏ qua xác minh chứng chỉ TLS trong gần nửa năm, khiến hàng nghìn người dùng âm thầm đối mặt với nguy cơ tấn công xen giữa. Người phát hiện lỗ hổng đã phải báo cáo qua GitHub Security Advisory sau khi bản vá đầu tiên tỏ ra không đầy đủ.

Xray-core che giấu lỗ hổng bỏ qua xác minh chứng chỉ suốt nửa năm

Xray-core là một trong những phần mềm proxy được sử dụng rộng rãi nhất hiện nay, đặc biệt trong cộng đồng người dùng cần vượt qua kiểm duyệt mạng. Thế nhưng, phần mềm này vừa bị cáo buộc đã che giấu một lỗ hổng nghiêm trọng liên quan đến xác minh chứng chỉ TLS trong gần nửa năm, khiến người dùng âm thầm mất đi lớp bảo vệ quan trọng nhất trước các cuộc tấn công xen giữa (man-in-the-middle).

Sự việc được chính người phát hiện lỗ hổng công bố trên kho GitHub của dự án net4people/bbs, kèm lời khẳng định rằng bản thân anh là người báo cáo lỗ hổng cho nhóm phát triển Xray-core.

Chuỗi sự kiện đáng ngờ

Câu chuyện bắt đầu từ năm 2021, khi Xray-core bổ sung tùy chọn pinnedPeerCertificateChainSha256, cho phép người dùng ghim chuỗi chứng chỉ tùy chỉnh song song với việc xác minh chứng chỉ thông thường. Tùy chọn này đặc biệt hữu ích với những ai dùng chứng chỉ tự ký (self-signed certificate), vì họ có thể kết hợp với allowInsecure để bỏ qua xác minh thông thường mà vẫn duy trì lớp bảo vệ riêng.

Đến ngày 9 tháng 1 năm 2026, Xray-core loại bỏ tùy chọn cũ và thay bằng pinnedPeerCertSha256. Mục đích được nhóm phát triển đưa ra là ngăn người dùng "khỏa thân" — cách họ gọi việc bỏ qua xác minh chứng chỉ. Tuy nhiên, tùy chọn mới này lại chứa chính lỗ hổng bỏ qua xác minh chứng chỉ.

Chỉ bốn ngày sau, ngày 13 tháng 1 năm 2026, phiên bản đầu tiên chứa lỗ hổng được phát hành. Vì tùy chọn cũ đã bị gỡ bỏ, người dùng buộc phải chuyển sang tùy chọn mới đầy rủi ro.

Nghiêm trọng hơn, ngày 16 tháng 1 năm 2026, Xray-core thay đổi logic của pinnedPeerCertSha256 theo hướng luôn bỏ qua xác minh chứng chỉ thông thường và chỉ thực hiện logic ghim chứng chỉ tùy chỉnh. Điều này đồng nghĩa với việc nếu logic ghim tùy chỉnh thất bại, người dùng sẽ hoàn toàn không còn lớp xác minh chứng chỉ nào — tạo điều kiện hoàn hảo cho kẻ tấn công xen giữa.

Bịt lỗ hổng trong im lặng

Ngày 6 tháng 2 năm 2026, người báo cáo phát hiện lỗ hổng và gửi báo cáo riêng cho nhóm phát triển. Theo mô tả, kẻ tấn công chỉ cần chèn một chứng chỉ lá vào bất kỳ vị trí nào trong chuỗi chứng chỉ là có thể vượt qua logic ghim. Đây là lỗi ở mức cơ bản, có thể nhận ra ngay cả khi không có kiến thức bảo mật chuyên sâu.

Cùng ngày hôm đó, Xray-core âm thầm sửa lỗi nhưng thông điệp commit lại nói vòng vo rằng chỉ nhằm "đơn giản hóa mã nguồn". Bản phát hành mới cũng không hề đề cập đến lỗ hổng bảo mật. Người dùng hoàn toàn không hay biết.

Đáng chú ý, cũng trong ngày 6 tháng 2, kênh Telegram của Xray-core đăng tuyên bố:

"Phần mềm phải được thiết kế lấy bảo mật làm trọng tâm, loại bỏ ảnh hưởng của yếu tố con người để đảm bảo ngay cả những người dùng kém hiểu biết nhất cũng không bị 'khỏa thân'."

Trớ trêu thay, theo người báo cáo, chính thiết kế bảo mật kém và những yếu tố con người do Xray-core tạo ra đã buộc người dùng chuyển từ tùy chọn cũ an toàn sang tùy chọn mới không an toàn.

Nửa năm không minh bạch

Đến ngày 3 tháng 7 năm 2026, Xray-core vẫn chưa công bố lỗ hổng cho người dùng. Cùng ngày, người báo cáo phát hiện bản vá trước đó không đầy đủ — trong một số tình huống nhất định, xác minh chứng chỉ vẫn có thể bị vượt qua. Để tránh việc lỗ hổng bị che giấu lần nữa, anh buộc phải báo cáo qua GitHub Security Advisory.

Tính đến thời điểm đó, người dùng đã âm thầm "khỏa thân" trong gần nửa năm mà không hề hay biết.

Ý nghĩa với người dùng Việt Nam

Với người dùng Việt Nam thường xuyên sử dụng các phần mềm proxy để truy cập mạng quốc tế, sự việc này là lời cảnh tỉnh rõ ràng. Khi xác minh chứng chỉ bị vô hiệu hóa, kẻ tấn công ở vị trí trung gian — chẳng hạn nhà mạng, điểm truy cập Wi-Fi công cộng hoặc máy chủ bị xâm nhập — có thể đọc và thay đổi toàn bộ lưu lượng, bao gồm mật khẩu và dữ liệu nhạy cảm.

Bài học rút ra:

  • Luôn cập nhật phần mềm proxy lên phiên bản mới nhất, kể cả khi không thấy thông báo bảo mật rõ ràng
  • Không dùng chứng chỉ tự ký trừ khi thực sự hiểu rõ cơ chế xác minh đang hoạt động
  • Cảnh giác với các dự án mã nguồn mở thiếu minh bạch trong quy trình xử lý lỗ hổng bảo mật
  • Ưu tiên các giải pháp có quy trình công bố lỗ hổng (CVE) rõ ràng thay vì sửa lỗi trong im lặng

Sự việc đặt ra câu hỏi lớn về trách nhiệm của các dự án mã nguồn mở phổ biến: khi hàng triệu người dùng tin tưởng giao phó dữ liệu cho phần mềm của mình, việc che giấu lỗ hổng bảo mật — dù với lý do gì — đều là hành vi không thể chấp nhận được.

Chia sẻ:FacebookX
Nội dung tổng hợp bằng AI, mang tính tham khảo. Xem bài gốc ↗