NGINX ngx_http_proxy_v2_module and ngx_http_grpc_module Heap-Based Buffer Overflow
Chuyên gia Trung Nguyen của CyStack đã phát hiện lỗ hổng tràn bộ đệm vùng heap trong các module proxy HTTP/2 của NGINX (ngx_http_proxy_v2_module và ngx_http_grpc_module). Khi NGINX chuyển tiếp lưu lượng tới một backend HTTP/2 (proxy_http_version 2 hoặc grpc_pass), kẻ tấn công từ xa, không cần xác thực, có thể gửi các header quá khổ làm tràn vùng đệm heap trong lúc NGINX dựng yêu cầu gửi lên upstream, khiến tiến trình worker sập (từ chối dịch vụ) và có khả năng dẫn tới thực thi mã từ xa trên các hệ thống đã tắt hoặc có thể vượt qua cơ chế ngẫu nhiên hóa bố cục bộ nhớ (ASLR). Việc khai thác đòi hỏi cấu hình không mặc định: upstream phải dùng HTTP/2, ignore_invalid_headers phải được đặt là off, và large_client_header_buffers phải cho phép vùng đệm lớn hơn 2 MB — các triển khai dùng cấu hình mặc định không bị ảnh hưởng. Lỗ hổng ảnh hưởng NGINX Open Source 1.30.0–1.30.2 và 1.31.1 (khắc phục ở 1.30.3 và 1.31.2) cùng NGINX Plus R33–R36 và 37.0.0–37.0.1 (khắc phục ở R36 P6 và 37.0.2.1); với hệ thống chưa thể nâng cấp, có thể giảm thiểu bằng cách gỡ ignore_invalid_headers off hoặc giảm large_client_header_buffers xuống dưới 2 MB.
buffer-overflownginxhigh-severity