WolfSSL 5.8.2 Vá Lỗ hổng CVE-2025-7395: Nguy cơ Bỏ qua Apple Trust Store

wolfSSL đã phát hành phiên bản 5.8.2 nhằm khắc phục một số lỗ hổng bảo mật nghiêm trọng. Trong số này, đáng chú ý nhất là một lỗ hổng mức độ nghiêm trọng cao cho phép bỏ qua kho tin cậy (trust store) của Apple, tạo điều kiện cho các tác nhân độc hại vượt qua quy trình xác minh chứng chỉ trên các nền tảng Apple.

Phân tích CVE-2025-7395: Lỗ hổng Bỏ qua Apple Trust Store

Lỗ hổng nghiêm trọng nhất, được định danh là CVE-2025-7395, ảnh hưởng đến người dùng các phiên bản wolfSSL sau 5.7.6 và trước 5.8.2, những người sử dụng các tính năng WOLFSSL_SYS_CA_CERTSWOLFSSL_APPLE_NATIVE_CERT_VALIDATION trên các nền tảng của Apple.

  • CVE: CVE-2025-7395
  • Mô tả: Cho phép quy trình xác minh kho tin cậy gốc (native trust store) ghi đè lên các lỗi phát hiện từ các phần khác của quy trình xác minh chứng chỉ wolfSSL.
  • Ảnh hưởng: Các kết nối TLS có thể được thiết lập thành công ngay cả khi có các lỗi đáng lẽ phải dẫn đến việc chấm dứt kết nối, như lỗi không khớp hostname, SNI, hoặc kiểm tra OCSP/CRL thất bại.
  • Phiên bản bị ảnh hưởng: wolfSSL sau 5.7.6 và trước 5.8.2.
  • Tính năng liên quan: WOLFSSL_SYS_CA_CERTSWOLFSSL_APPLE_NATIVE_CERT_VALIDATION trên nền tảng Apple.
  • Phát hiện bởi: Thomas Leong từ ExpressVPN.
  • Giải quyết trong: wolfSSL 5.8.2.

Cơ chế Khai thác và Tác động của CVE-2025-7395

Lỗ hổng này xuất phát từ việc quy trình xác minh kho tin cậy gốc của Apple (được kích hoạt thông qua các tùy chọn cấu hình wolfSSL cụ thể) được ưu tiên không đúng mức. Cụ thể, khi một chuỗi chứng chỉ được kho tin cậy gốc của Apple đánh dấu là đáng tin cậy, quy trình này sẽ ghi đè lên các lỗi đã được phát hiện bởi các cơ chế xác minh chứng chỉ nội bộ khác của wolfSSL.

Các lỗi bị ghi đè bao gồm:

  • Lỗi không khớp hostname (hostname matching): Khi tên máy chủ trong URL không khớp với tên trên chứng chỉ TLS/SSL.
  • Lỗi Server Name Indication (SNI): Khi SNI được cung cấp trong bắt tay TLS không được xử lý chính xác hoặc không khớp với chứng chỉ.
  • Lỗi Online Certificate Status Protocol (OCSP): Khi việc kiểm tra trạng thái thu hồi chứng chỉ thông qua OCSP thất bại hoặc cho thấy chứng chỉ đã bị thu hồi.
  • Lỗi Certificate Revocation Lists (CRLs): Tương tự như OCSP, khi kiểm tra danh sách thu hồi chứng chỉ thất bại.

Như mô tả trong khuyến cáo bảo mật của wolfSSL: “Điều này cho phép bất kỳ chuỗi chứng chỉ đáng tin cậy nào ghi đè lên các lỗi khác được phát hiện trong quá trình xác minh chuỗi, những lỗi đáng lẽ phải dẫn đến việc chấm dứt kết nối TLS.”

Hậu quả trực tiếp là một kết nối TLS có thể được thiết lập thành công với một máy chủ độc hại, ngay cả khi chứng chỉ của máy chủ đó không đáp ứng các tiêu chí bảo mật cơ bản như khớp hostname hoặc chưa bị thu hồi. Điều này mở ra nguy cơ tấn công man-in-the-middle (MitM) nghiêm trọng, cho phép kẻ tấn công chặn và thao túng lưu lượng mạng mà không bị phát hiện bởi cơ chế xác minh chứng chỉ của wolfSSL.

Các Bản Vá Bảo mật Khác trong wolfSSL 5.8.2

Bên cạnh lỗ hổng bypass kho tin cậy Apple, bản cập nhật wolfSSL 5.8.2 còn giải quyết một số vấn đề bảo mật quan trọng khác.

CVE-2025-7394: Lỗ hổng OpenSSL Compatibility Layer

Bản cập nhật này khắc phục một lỗ hổng mức độ trung bình (CVE-2025-7394) trong việc triển khai lớp tương thích OpenSSL của wolfSSL.

  • CVE: CVE-2025-7394
  • Mô tả: Hàm RAND_poll() không hoạt động như mong đợi, có khả năng dẫn đến các giá trị có thể dự đoán được từ RAND_bytes() sau các thao tác fork().
  • Ảnh hưởng: Có thể dẫn đến việc tạo số ngẫu nhiên yếu hoặc dễ đoán trong các ứng dụng sử dụng cả RAND_bytes() và thao tác fork(), làm suy yếu bảo mật của các khóa mã hóa, nonce hoặc các giá trị ngẫu nhiên khác.
  • Phát hiện bởi: Per Allansson từ Appgate.
  • Giải quyết trong: wolfSSL 5.8.2.

Trong các hệ thống tiền mã hóa, việc tạo ra các số ngẫu nhiên (hoặc giả ngẫu nhiên) chất lượng cao là cực kỳ quan trọng đối với tính bảo mật của các khóa mã hóa, nonce, và các yếu tố an toàn khác. Lỗi trong hàm RAND_poll(), đặc biệt khi kết hợp với thao tác fork(), có thể khiến bộ tạo số ngẫu nhiên bị tái khởi tạo không đúng cách hoặc sử dụng lại các hạt giống (seed) không đủ ngẫu nhiên. Điều này dẫn đến các đầu ra từ RAND_bytes() trở nên dễ dự đoán, tạo cơ hội cho kẻ tấn công suy ra hoặc đoán các giá trị nhạy cảm, từ đó làm suy yếu tính toàn vẹn của hệ thống mã hóa.

CVE-2025-7396: Cải thiện Bảo vệ Side-Channel cho Curve25519

Một lỗ hổng mức độ thấp (CVE-2025-7396) liên quan đến hỗ trợ che giấu (blinding) của Curve25519 cũng đã được giải quyết.

  • CVE: CVE-2025-7396
  • Mô tả: Cập nhật cho phép che giấu (blinding) theo mặc định cho triển khai Curve25519 dựa trên C cơ bản.
  • Ảnh hưởng: Cung cấp bảo vệ bổ sung chống lại các cuộc tấn công kênh phụ (side-channel attacks), đặc biệt trên các thiết bị dễ bị truy cập vật lý hoặc quan sát kênh phụ.
  • Phát hiện bởi: Nghiên cứu của Arnaud Varillon, Laurent Sauvage, và Allan Delautre từ Telecom Paris.
  • Giải quyết trong: wolfSSL 5.8.2.

Các cuộc tấn công kênh phụ khai thác thông tin rò rỉ từ các hoạt động vật lý của thiết bị (ví dụ: thời gian thực hiện, mức tiêu thụ điện năng, bức xạ điện từ) để suy ra các khóa bí mật hoặc dữ liệu nhạy cảm. Để chống lại loại tấn công này trong thuật toán Curve25519, bản cập nhật 5.8.2 đã bật tính năng “che giấu” (blinding) theo mặc định cho triển khai C cơ bản. Che giấu là một kỹ thuật làm xáo trộn các giá trị trung gian trong quá trình tính toán mật mã, khiến việc phân tích thông qua kênh phụ trở nên khó khăn hơn nhiều. Điều này đặc biệt quan trọng đối với các thiết bị nhúng hoặc thiết bị có thể bị truy cập vật lý, nơi các cuộc tấn công kênh phụ là một mối đe dọa thực tế.

Các Tính năng và Cải tiến Bảo mật Mới trong wolfSSL 5.8.2

Ngoài việc khắc phục các lỗ hổng, wolfSSL 5.8.2 còn giới thiệu một số tính năng và cải tiến bảo mật mới:

  • Giảm thiểu Tấn công Can thiệp Lỗi (Fault Injection): Bản phát hành bao gồm các cải tiến về giảm thiểu tấn công can thiệp lỗi (fault injection attack) cho các hoạt động xác minh ECC (Elliptic Curve Cryptography) và Ed25519. Các nhà nghiên cứu từ Fraunhofer AISEC đã đóng góp vào việc đánh giá bảo mật này. Tấn công can thiệp lỗi cố gắng làm thay đổi hoạt động bình thường của phần cứng hoặc phần mềm để tạo ra lỗi tính toán, từ đó có thể làm lộ thông tin bí mật. Các cải tiến này giúp tăng cường khả năng chống chịu của wolfSSL trước các nỗ lực tấn công như vậy.
  • Cải tiến Mô-đun Kernel Linux: Bản cập nhật mang lại những cải tiến đáng kể cho Mô-đun Kernel Linux của wolfSSL, triển khai tất cả các chức năng AES, SHAHMAC trong không gian kernel. Việc thực thi các hoạt động mật mã này trực tiếp trong kernel space có thể cải thiện hiệu suất và bảo mật bằng cách giảm thiểu việc chuyển đổi ngữ cảnh giữa user space và kernel space, đồng thời tận dụng các cơ chế bảo mật của kernel.
  • API mới cho X.509 và mã hóa PKCS12: Ngoài ra, các API mới đã được thêm vào để hỗ trợ xử lý chứng chỉ X.509 và mã hóa PKCS12. Các API này cung cấp khả năng mạnh mẽ hơn cho việc quản lý chứng chỉ số và các định dạng đóng gói khóa, hỗ trợ các ứng dụng yêu cầu xử lý chứng chỉ phức tạp và bảo mật dữ liệu.

Khuyến nghị và Hành động Cần thiết

Các tổ chức đang sử dụng wolfSSL trên các nền tảng Apple, đặc biệt là những nền tảng có hỗ trợ CA hệ thống được kích hoạt, được khuyến nghị mạnh mẽ cập nhật lên phiên bản 5.8.2 ngay lập tức. Việc này là cần thiết để bảo vệ chống lại lỗ hổng bỏ qua trust store (CVE-2025-7395) và các lỗ hổng khác đã được khắc phục, đồng thời hưởng lợi từ các tính năng bảo mật và cải tiến mới.

Việc không cập nhật có thể khiến hệ thống dễ bị tổn thương trước các cuộc tấn công MitM, sự suy yếu của chức năng tạo số ngẫu nhiên, và các nguy cơ từ tấn công kênh phụ, ảnh hưởng nghiêm trọng đến tính bảo mật của dữ liệu và kết nối.