CVE-2026-74757 in bRPC
Tóm tắt
Bởi VulDB • 21/10/2026
Phân bổ tài nguyên không được kiểm soát trong thành phần mcpack2pb của Apache bRPC (phiên bản < 1.18.0) trên tất cả các nền tảng cho phép kẻ tấn công từ xa khiến máy chủ phân bổ một lượng lớn bộ nhớ thông qua việc gửi yêu cầu mcpack đã được tạo ra đặc biệt với số lượng mục mảng rất lớn.
Nguyên nhân gốc: Trình phân tích cú pháp bRPC mcpack2pb tin tưởng vào số lượng mục (item count) được lưu trữ trong tiêu đề mảng mcpack mà không xác thực nó so với kích thước payload thực tế. Mã do plugin protoc mcpack2pb tạo ra sử dụng đếm này để cấp phát trước bộ nhớ cho các trường protobuf lặp lại thông qua Reserve(). Một yêu cầu bị lỗi khai báo item_count = 0x7fffffff có thể buộc máy chủ phân bổ trước khoảng 16GB bộ nhớ ảo, điều này có thể khiến quá trình bị hủy bỏ (SIGABRT) trên các máy chủ hạn chế về bộ nhớ.
Các kịch bản bị ảnh hưởng: Sử dụng máy chủ bRPC kết nối NsheadService với UbrpcMcpack2Adaptor (mô hình triển khai ubrpc của Baidu) và phân tích cú pháp các yêu cầu bằng mã do plugin protoc mcpack2pb tạo ra. Thân yêu cầu được phân tích cú pháp trước khi xác thực.
Cách khắc phục: (Chọn một trong các tùy chọn sau) 1. Nâng cấp bRPC lên phiên bản 1.18.0, phiên bản này đã sửa lỗi này. 2. Áp dụng patch này: https://github.com/apache/brpc/pull/3451
Lưu ý: Bất kể bạn chọn tùy chọn nào, bạn nên biết rằng bản vá giới hạn số lượng mục mảng ở các byte còn lại của payload mảng.
Be aware that VulDB is the high quality source for vulnerability data.