- Một loạt lỗ hổng mới vừa được phát hiện trong giao thức HTTP/2, được gọi là "CONTINUATION Flood". Các lỗ hổng này cho phép đối tượng tấn công thực hiện tấn công từ chối dịch vụ bằng cách đánh sập máy chủ web chỉ với một luồng kết nối TCP.
Giao thức HTTP/2 là phiên bản cải tiến của giao thức HTTP được chuẩn hóa vào năm 2015, nhằm cải thiện hiệu suất web. Nó được thiết kế để đem lại khả năng truyền dữ liệu hiệu quả hơn bằng cách sử dụng binary framing, cho phép trao đổi dữ liệu một cách hiệu quả, ghép kênh để có thể gửi và nhận nhiều yêu cầu và phản hồi trên cùng một kết nối, và nén header để giảm phí tổn.
Lỗi CONTINUATION Flood liên quan đến frame CONTINUATION trong giao thức HTTP/2, hiện không được hạn chế hoặc kiểm tra cẩn thận trong nhiều ứng dụng sử dụng giao thức này. Trong giao thức HTTP/2, các thông điệp sử dụng phần header và trailer được xếp thành các khối có thể phân mảnh thành nhiều frame trong quá trình trao đổi, và frame CONTINUATION được sử dụng để ghép chúng lại.
Sự thiếu sót trong kiểm tra frame trong nhiều ứng dụng web cho phép đối tượng tấn công gửi một chuỗi frame rất dài mà không đặt flag END_HEADERS, gây ra máy chủ bị sập do hết bộ nhớ hoặc tài nguyên CPU bị cạn kiệt khi xử lý frame này. Các lỗi này đã được đánh giá và gán mã định danh CVE tương ứng với nhiều cấp độ tấn công từ chối dịch vụ khác nhau như rò rỉ bộ nhớ, tiêu hao bộ nhớ, làm cạn CPU,... cụ thể như sau:
• CVE-2024-27983: Ảnh hưởng máy chủ Node.js HTTP/2, có thể dẫn tới rò rỉ bộ nhớ do tấn công race condition, gây ra từ chối dịch vụ.
• CVE-2024-27919: Ảnh hưởng đến mã code oghttp của Envoy, dẫn tới tiêu hao bộ nhớ do không làm mới yêu cầu khi chạm tới giới hạn header map.
• CVE-2024-2758: Tồn tại trên Tempesta FW, giới hạn rate không đủ ngăn chặn tấn công CONTINUATION Flood, gây ra từ chối dịch vụ.
• CVE-2024-31309: Ảnh hưởng Apache Traffic Server, gây hao tổn tài nguyên CPU.
• CVE-2023-45288: Ảnh hưởng các gói GO net/http và net/http2=. Cho phép đối tượng tấn công gửi nhiều header tới máy chủ, gây ra hao tổn CPU.
• CVE-2024-28182: Ảnh hưởng thư viện nghttp2 và cho phép đối tượng tấn công thực hiện tấn công từ chối dịch vụ khi không có lời gọi reset chuỗi phù hợp.
• CVE-2024-27316: Ảnh hưởng Apache Httpd. Hàng loạt frame CONTINUATION không có gán cờ END_HEADERS có thể được gửi tới máy chủ, dẫn tới việc gián đoạn quá trình xử lý yêu cầu.
• CVE-2024-30255: Ảnh hưởng Envoy 1.29.2 và cũ các phiên bản hơn. Cho phép đối tượng tấn công làm cạn tài nguyên CPU của máy chủ.
• CVE-2024-2653: Ảnh hưởng amphp/http. Frame CONTINUATION được thu thập trong một buffer không giới hạn, gây ra tràn bộ nhớ nếu giới hạn kích thước header bị vượt quá.
Hiện tại, một số nhà cung cấp như Red Hat, SUSE Linux, Arista Networks, Apache HTTP Server Project,... đã xác nhận bị ảnh hưởng bởi một trong số các CVE trên. Các nhà nghiên cứu bảo mật cảnh báo rằng các lỗ hổng trong giao thức HTTP/2 nghiêm trọng hơn so với cuộc tấn công “HTTP/2 Rapid Reset” trước đó.
Với lỗ hổng mới vừa được phát hiện trong giao thức HTTP/2, theo Trung tâm Giám sát an toàn không gian mạng quốc gia (NCSC) - Cục An toàn thông tin, Bộ TT&TT, các đơn vị cần lưu ý theo dõi và cập nhật bản vá cho các lỗ hổng liên quan đến sản phẩm đang sử dụng. Ngoài ra, những đơn vị đã có tài khoản trên “Hệ thống Cảnh báo điểm yếu và rà soát lỗ hổng bảo mật tự động” tại địa chỉ https://service.khonggianmang.vn, quản trị viên có thể thêm các sản phẩm đang sử dụng để giám sát và nhận cảnh báo ngay khi có lỗ hổng mới phát sinh.
PV