Cảnh báo: CVE-2025-59789 nghiêm trọng trong Apache bRPC

Một lỗ hổng CVE nghiêm trọng đã được phát hiện trong framework Apache bRPC. Lỗ hổng này cho phép những kẻ tấn công từ xa làm sập các máy chủ bằng cách gửi dữ liệu JSON được chế tạo đặc biệt.
CVE-2025-59789 được theo dõi tại danh sách gửi thư của Apache, ảnh hưởng đến tất cả các phiên bản của Apache bRPC trước 1.15.0 trên mọi nền tảng.
Phân Tích Lỗ Hổng CVE-2025-59789 trong Apache bRPC
Lỗ hổng tồn tại trong thành phần json2pb của Apache bRPC, có chức năng chuyển đổi dữ liệu JSON thành các thông điệp Protocol Buffer.
Thành phần json2pb sử dụng thư viện rapidjson để phân tích cú pháp dữ liệu JSON nhận được từ mạng.
Theo mặc định, trình phân tích cú pháp rapidjson sử dụng một phương pháp phân tích đệ quy.
Khi kẻ tấn công gửi dữ liệu JSON với cấu trúc đệ quy lồng sâu, hàm phân tích cú pháp sẽ tiêu hao bộ nhớ stack, dẫn đến tình trạng stack overflow.
Tình trạng này khiến máy chủ bị treo, gây ra điều kiện tấn công từ chối dịch vụ (Denial-of-Service – DoS).
Cơ Chế Khai Thác Kỹ Thuật
Kẻ tấn công có thể lợi dụng lỗi trong quá trình xử lý dữ liệu JSON được thiết kế đặc biệt.
Khi một thông điệp JSON có cấu trúc phân cấp quá sâu được gửi đến, cơ chế đệ quy của rapidjson sẽ liên tục gọi các hàm con.
Điều này dẫn đến việc sử dụng cạn kiệt không gian bộ nhớ stack dành cho tiến trình máy chủ, gây ra sự cố nghiêm trọng.
Hậu quả trực tiếp là máy chủ Apache bRPC không thể xử lý thêm các yêu cầu, dẫn đến trạng thái không khả dụng cho người dùng hợp pháp.
Điều Kiện Hệ Thống Dễ Bị Tấn Công
Các tổ chức sử dụng máy chủ bRPC có nguy cơ bị tấn công nếu đáp ứng một trong các điều kiện sau:
- Đang chạy máy chủ bRPC với các thông điệp Protobuf xử lý các yêu cầu HTTP+JSON từ các mạng không đáng tin cậy.
- Sử dụng hàm
JsonToProtoMessageđể chuyển đổi JSON từ các nguồn đầu vào không đáng tin cậy.
Việc kiểm tra cấu hình hệ thống và nguồn gốc của dữ liệu đầu vào là rất quan trọng để xác định mức độ phơi nhiễm với lỗ hổng CVE này.
Các Biện Pháp Khắc Phục Lỗ Hổng và Cập Nhật Bản Vá
Apache đã cung cấp hai tùy chọn chính để giải quyết lỗ hổng CVE-2025-59789 này.
Các biện pháp này nhằm mục đích hạn chế khả năng khai thác lỗi đệ quy và đảm bảo an toàn cho các hệ thống sử dụng Apache bRPC.
Nâng Cấp Phiên Bản Apache bRPC
Giải pháp khuyến nghị là nâng cấp lên phiên bản Apache bRPC 1.15.0.
Phiên bản này bao gồm bản sửa lỗi hoàn chỉnh cho lỗ hổng CVE được mô tả.
Việc nâng cấp đảm bảo rằng tất cả các thành phần liên quan đến xử lý JSON đều được bảo vệ khỏi các cuộc tấn công từ chối dịch vụ dựa trên đệ quy.
Áp Dụng Bản Vá Chính Thức
Đối với những trường hợp không thể nâng cấp ngay lập tức lên phiên bản 1.15.0, Apache cũng đã cung cấp bản vá chính thức.
Bản vá này có sẵn trên GitHub và nên được áp dụng càng sớm càng tốt để giảm thiểu rủi ro.
Cả hai giải pháp (nâng cấp hoặc áp dụng bản vá) đều giới thiệu một giới hạn độ sâu đệ quy mới.
Giới Hạn Độ Sâu Đệ Quy
Bản vá và phiên bản mới giới thiệu một giới hạn độ sâu đệ quy mặc định là 100.
Thay đổi này ảnh hưởng đến bốn hàm chính trong quá trình chuyển đổi dữ liệu:
ProtoMessageToJsonProtoMessageToProtoJsonJsonToProtoMessageProtoJsonToProtoMessage
Các yêu cầu chứa thông điệp JSON hoặc Protobuf vượt quá giới hạn độ sâu này sẽ bị từ chối sau khi bản vá được áp dụng.
Điều Chỉnh Giới Hạn Độ Sâu Đệ Quy
Các quản trị viên có thể điều chỉnh giới hạn độ sâu đệ quy bằng cách sửa đổi cờ json2pb_max_recursion_depth.
Việc này cho phép các tổ chức đáp ứng các yêu cầu cụ thể của họ, nhưng cần cân nhắc kỹ lưỡng để không làm suy yếu khả năng bảo vệ của hệ thống.
Ví dụ về cách cấu hình trong môi trường bRPC có thể được thực hiện thông qua gflag:
--json2pb_max_recursion_depth=200
Lệnh trên sẽ tăng giới hạn độ sâu đệ quy lên 200, tuy nhiên, việc điều chỉnh này cần được thực hiện cẩn thận để cân bằng giữa hiệu suất và bảo mật.
Khuyến Nghị Bảo Mật và Hành Động
Các nhóm bảo mật được khuyến nghị mạnh mẽ đánh giá môi trường của họ và thực hiện các cập nhật bản vá cần thiết ngay lập tức.
Hành động kịp thời sẽ giúp ngăn chặn các cuộc tấn công từ chối dịch vụ tiềm ẩn và bảo vệ tính sẵn sàng của dịch vụ.
Việc liên tục theo dõi các thông báo bảo mật và duy trì hệ thống được vá lỗi là yếu tố then chốt trong chiến lược an ninh mạng.









