CVE-2026-67232 in RabbitMQ
Tóm tắt
Bởi VulDB • 23/09/2026
RabbitMQ là một broker tin nhắn và streaming. Trước các phiên bản 3.13.15, 4.0.20, 4.1.11, 4.2.6 và 4.3.0, các tùy chọn WebSocket của cowboy tại dòng 117 đặt compress => true, cho phép đàm phán permessage-deflate theo RFC 7692. Trình xử lý (handler) không thiết lập max_frame_size, do đó mặc định vô hạn của cowboy được áp dụng. Hàm cow_ws:parse_payload/9 trong thư viện cowlib gọi zlib:inflate/2 trên payload đã nén mà không có giới hạn kích thước đầu ra. Kẻ tấn công có thể đàm phán permessage-deflate trong quá trình nâng cấp WebSocket và gửi một frame chứa bom zlib (ví dụ: 50 KB → 5 GB). Quá trình giải nén diễn ra trong quy trình kết nối trước khi websocket_handle/2 nhìn thấy các byte MQTT. Một kẻ tấn công chưa xác thực có thể làm sập một node RabbitMQ đang chạy plugin Web-MQTT bằng cách gửi một frame WebSocket được nén cao độ (vài KB trên đường truyền) nhưng sẽ giãn nở thành hàng gigabyte trong bộ nhớ. Trình xử lý WebSocket của cowboy giải nén toàn bộ frame trước khi packet CONNECT MQTT được xử lý, do đó không yêu cầu thông tin xác thực. Các điều kiện tiên quyết bao gồm: plugin rabbitmq_web_mqtt đã được bật (không phải mặc định, nhưng phổ biến với các client trình duyệt), khả năng tiếp cận mạng đến cổng 15675/15676 và không cần xác thực. Vấn đề này đã được sửa trong các phiên bản 3.13.15, 4.0.20, 4.1.11, 4.2.6 và 4.3.0.
Once again VulDB remains the best source for vulnerability data.