Khẩn cấp: Lỗ hổng CVE nghiêm trọng trong Apache ZooKeeper

Khẩn cấp: Lỗ hổng CVE nghiêm trọng trong Apache ZooKeeper

Apache ZooKeeper, một dịch vụ quản lý cấu hình và đặt tên được sử dụng rộng rãi trong các ứng dụng phân tán, gần đây đã công bố hai lỗ hổng CVE có mức độ nghiêm trọng “Important”. Các lỗ hổng này yêu cầu các bản cập nhật bảo mật kịp thời để bảo vệ hệ thống khỏi các mối đe dọa tiềm ẩn.

Hai lỗ hổng mới được phát hiện này có thể cho phép kẻ tấn công truy cập dữ liệu cấu hình nhạy cảm hoặc bỏ qua quá trình xác minh hostname, nhằm mạo danh các máy chủ đáng tin cậy. Cả hai lỗ hổng CVE đều ảnh hưởng đến các phiên bản ZooKeeper thuộc nhánh 3.8.x3.9.x.

Nội dung
Các Lỗ hổng Apache ZooKeeper Nghiêm trọng

CVE-2026-24308: Rò rỉ Thông tin Cấu hình Nhạy cảm
CVE-2026-24281: Lỗ hổng Bỏ qua Xác minh Hostname
Biện pháp Khắc phục và Khuyến nghị Bảo mật

Các Lỗ hổng Apache ZooKeeper Nghiêm trọng

Apache ZooKeeper đóng vai trò quan trọng trong việc duy trì trạng thái và cấu hình nhất quán trong các kiến trúc phân tán. Việc tồn tại các lỗ hổng bảo mật trong một thành phần cốt lõi như vậy có thể gây ra những hậu quả nghiêm trọng đối với tính toàn vẹn và bảo mật của toàn bộ hệ thống.

CVE-2026-24308: Rò rỉ Thông tin Cấu hình Nhạy cảm

Lỗ hổng đầu tiên, được theo dõi dưới mã định danh CVE-2026-24308, liên quan đến việc tiết lộ thông tin nhạy cảm. Lỗ hổng này được phát hiện bởi nhà nghiên cứu Youlong Chen.

Nguyên nhân của lỗ hổng là do thành phần ZKConfig xử lý không đúng cách các giá trị cấu hình. Khi một client kết nối đến dịch vụ ZooKeeper, dữ liệu cấu hình nhạy cảm có thể vô tình bị ghi vào tệp nhật ký của client. Điều này xảy ra ở mức độ ghi nhật ký mặc định là INFO, một mức độ thường được bật rộng rãi trong các hệ thống sản xuất.

Việc dữ liệu này bị in ra log file mà không có biện pháp bảo vệ phù hợp tạo ra một điểm yếu nghiêm trọng. Bất kỳ người dùng trái phép hoặc kẻ tấn công nào có quyền truy cập vào các tệp nhật ký của hệ thống đều có thể âm thầm đánh cắp dữ liệu sản xuất nhạy cảm. Quá trình này diễn ra mà không kích hoạt bất kỳ cảnh báo bảo mật nào, khiến việc phát hiện trở nên khó khăn.

Các thông tin bị rò rỉ có thể bao gồm khóa API, thông tin đăng nhập cơ sở dữ liệu, hoặc các chi tiết cấu hình mạng nội bộ, tất cả đều có thể bị lợi dụng để leo thang đặc quyền hoặc thực hiện các cuộc tấn công tiếp theo vào môi trường hệ thống.

CVE-2026-24281: Lỗ hổng Bỏ qua Xác minh Hostname

Lỗ hổng thứ hai, được theo dõi dưới mã định danh CVE-2026-24281 (và nội bộ là ZOOKEEPER-4986), là một lỗ hổng bỏ qua xác minh hostname. Lỗ hổng này được phát hiện bởi Nikita Markevich.

Trong thành phần ZKTrustManager, nếu quá trình xác thực Tên Thay thế Chủ thể (SAN) của địa chỉ IP thất bại, hệ thống sẽ tự động chuyển sang cơ chế tra cứu DNS ngược (PTR). Đây là một hành vi mặc định nhằm tăng cường tính linh hoạt trong một số môi trường mạng, nhưng lại tiềm ẩn rủi ro bảo mật nghiêm trọng.

Kẻ tấn công kiểm soát hoặc giả mạo các bản ghi PTR có thể khai thác hành vi này để mạo danh các máy chủ hoặc client ZooKeeper hợp lệ. Mặc dù kẻ tấn công vẫn cần phải trình bày một chứng chỉ được ZKTrustManager tin cậy, điều này làm cho việc khai thác trở nên khó khăn hơn, một cuộc tấn công thành công sẽ hoàn toàn phá vỡ mô hình tin cậy của hệ thống.

Hậu quả của việc bỏ qua xác minh hostname có thể bao gồm việc chặn các kết nối hợp pháp, chuyển hướng lưu lượng truy cập đến các máy chủ độc hại, hoặc thực hiện các cuộc tấn công man-in-the-middle (MITM). Điều này làm suy yếu nghiêm trọng an ninh mạng tổng thể, mở đường cho việc xâm nhập dữ liệu hoặc chiếm quyền điều khiển.

Biện pháp Khắc phục và Khuyến nghị Bảo mật

Để bảo vệ cơ sở hạ tầng khỏi các mối đe dọa từ những lỗ hổng CVE này, Apache khuyến nghị các quản trị viên hệ thống nâng cấp ngay lập tức các cài đặt ZooKeeper của họ lên các phiên bản đã được vá lỗi.

Các bản vá bảo mật chính thức đã có sẵn trong các phiên bản sau của Apache ZooKeeper:

  • Apache ZooKeeper 3.8.6
  • Apache ZooKeeper 3.9.5

Việc áp dụng các bản cập nhật này sẽ giải quyết lỗ hổng rò rỉ nhật ký, đảm bảo rằng ZKConfig không còn tiết lộ các giá trị nhạy cảm vào các tệp cục bộ nữa. Đây là một bước thiết yếu để ngăn chặn việc đánh cắp dữ liệu cấu hình quan trọng thông qua các tệp nhật ký hệ thống.

Ngoài ra, các bản cập nhật này còn khắc phục vấn đề bỏ qua hostname bằng cách giới thiệu một tùy chọn cấu hình mới. Tùy chọn này cho phép vô hiệu hóa tra cứu DNS ngược cho cả giao thức client và quorum. Điều này loại bỏ hoàn toàn khả năng kẻ tấn công lợi dụng các bản ghi PTR để mạo danh máy chủ hoặc client, củng cố mô hình tin cậy và tăng cường an ninh mạng của ZooKeeper.

# Ví dụ cấu hình để vô hiệu hóa tra cứu DNS ngược (áp dụng cho ZooKeeper 3.8.6 / 3.9.5 trở lên)
# Thêm dòng này vào tệp cấu hình ZooKeeper (zoo.cfg)
zookeeper.ssl.hostnameVerification.allowReverseDnsLookup=false

# Khởi động lại dịch vụ ZooKeeper sau khi thay đổi cấu hình
# service zookeeper restart

Ngoài việc vá lỗi, các nhóm bảo mật cũng nên chủ động rà soát môi trường ghi nhật ký của mình. Việc này nhằm đảm bảo rằng không có dữ liệu nhạy cảm nào trong lịch sử vẫn còn bị lộ trong các tệp nhật ký cũ hoặc đã lưu trữ. Việc kiểm tra và xóa bỏ các tệp nhật ký chứa thông tin nhạy cảm là một phần quan trọng của chiến lược bảo mật toàn diện.

Để biết thêm thông tin chi tiết và cập nhật, vui lòng tham khảo trang bảo mật chính thức của Apache ZooKeeper: Apache ZooKeeper Security.

Việc liên tục theo dõi các lỗ hổng CVE và áp dụng các bản vá kịp thời là cực kỳ quan trọng để duy trì một môi trường công nghệ an toàn. Các tổ chức cần ưu tiên các bản cập nhật này để bảo vệ hệ thống phân tán của mình khỏi các cuộc tấn công tiềm tàng.