Lỗ hổng Bảo mật MadeYouReset HTTP/2 (CVE-2025-8671): Mối Đe dọa Mới và Chiến lược Phòng thủ Toàn diện

Tổng quan

Lỗ hổng MadeYouReset (CVE-2025-8671) đã nổi lên như một mối đe dọa bảo mật nghiêm trọng trong hệ sinh thái HTTP/2, được các nhà nghiên cứu tại Đại học Tel Aviv công bố vào ngày 13 tháng 8 năm 2025. Điểm đặc biệt nguy hiểm của lỗ hổng này là khả năng vượt qua các biện pháp phòng thủ đã được triển khai để chống lại cuộc tấn công Rapid Reset (CVE-2023-44487) trước đó. Khác với Rapid Reset yêu cầu client gửi hàng loạt frame RST_STREAM, MadeYouReset sử dụng một cách tiếp cận tinh vi hơn bằng cách buộc máy chủ tự reset các luồng thông qua việc gửi các frame được thiết kế đặc biệt vi phạm giao thức.MadeYouReset-HTTP_2-CVE-2025-8671.docx

Lỗ hổng này khai thác sự lệch pha cơ bản giữa cách HTTP/2 quản lý trạng thái luồng ở tầng giao thức và cách các hệ thống backend thực sự xử lý các yêu cầu HTTP. Trong khi giao thức coi các luồng đã được reset là "đã đóng" và không tính vào giới hạn đồng thời, quá trình xử lý ở backend vẫn tiếp tục, tạo ra cơ hội để kẻ tấn công tạo ra số lượng yêu cầu đồng thời không giới hạn trên một kết nối TCP duy nhất.

Cơ chế Kỹ thuật Chi tiết của MadeYouReset

Nguyên lý Hoạt động Cốt lõi

Sự nguy hiểm của MadeYouReset nằm ở sáu nguyên tố tấn công (attack primitives) mà kẻ tấn công có thể sử dụng để buộc máy chủ phát sinh frame RST_STREAM:

Frame WINDOW_UPDATE với các giá trị bất hợp lệ là yếu tố phổ biến nhất, bao gồm việc gửi frame với increment bằng 0 hoặc giá trị làm cửa sổ vượt quá 2^31-1. Frame PRIORITY với độ dài không chính xác (khác 5 octet) hoặc tạo ra phụ thuộc vòng tròn cũng kích hoạt phản hồi reset từ máy chủ. Frame HEADERS và DATA được gửi trên luồng ở trạng thái nửa đóng (half-closed) sau khi client đã đặt flag END_STREAM cũng vi phạm giao thức và buộc máy chủ reset luồng.

Khác biệt So với Rapid Reset

Điểm then chốt khiến MadeYouReset trở nên nguy hiểm hơn Rapid Reset chính là tính ẩn danh trong lưu lượng mạng. Trong khi Rapid Reset tạo ra dấu hiệu rõ ràng thông qua việc client gửi hàng loạt frame RST_STREAM có thể dễ dàng phát hiện và chặn, MadeYouReset sử dụng các frame trông giống như lưu lượng HTTP/2 bình thường như WINDOW_UPDATE và PRIORITY. Các hệ thống giám sát truyền thống tìm kiếm số lượng RST_STREAM cao sẽ không phát hiện ra MadeYouReset vì tất cả frame RST_STREAM đều được máy chủ tự phát sinh, không phải từ client.

Tác động Tài nguyên Hệ thống

Khi bị khai thác, MadeYouReset có thể dẫn đến cạn kiệt tài nguyên CPU và bộ nhớ nghiêm trọng. Mỗi yêu cầu được khởi tạo trước khi bị reset sẽ tiếp tục được xử lý bởi backend, tạo ra tình trạng máy chủ phải xử lý hàng nghìn yêu cầu đồng thời trên một kết nối duy nhất, vượt xa giới hạn SETTINGS_MAX_CONCURRENT_STREAMS thông thường là 100. Điều này có thể dẫn đến từ chối dịch vụ hoàn toàn hoặc trong các trường hợp nghiêm trọng, gây crash out-of-memory trên hệ thống mục tiêu.

Phạm vi Ảnh hưởng và Các Nền tảng Bị Tác động

Danh sách Sản phẩm Bị ảnh hưởng

Lỗ hổng MadeYouReset đã được xác nhận ảnh hưởng đến một loạt các nền tảng và phần mềm quan trọng trong hạ tầng web hiện đại.

  1. Apache Tomcat các phiên bản từ 11.0.0-M1 đến 11.0.9, từ 10.1.0-M1 đến 10.1.43, và từ 9.0.0.M1 đến 9.0.107 đều bị ảnh hưởng và được gán CVE-2025-48989.

  2. Netty framework các phiên bản ≤4.2.3.Final và ≤4.1.123.Final cũng dễ bị tấn công với mã CVE-2025-55163.

  3. F5 BIG-IP các sản phẩm bao gồm phiên bản 17.x (17.5.0-17.5.1 và 17.1.0-17.1.2), 16.x (16.1.0-16.1.6), và 15.x (15.1.0-15.1.10) được gán mã CVE-2025-54500.

Ngoài ra, IBM WebSphere Application Server Liberty (CVE-2025-36047), các dự án như Jetty, Varnish Software, gRPC, Mozilla, SUSE Linux, AMPHP, Eclipse Foundation, Wind River, và Zephyr Project cũng đã xác nhận bị ảnh hưởng. Đáng chú ý là Fastly và Cloudflare đã nhanh chóng triển khai các bản vá trên toàn mạng để bảo vệ khách hàng.

Mức độ Nghiêm trọng và Điểm CVSS

CVE-2025-8671 được đánh giá với điểm CVSS 3.1 là 7.5 (High severity) với vector CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H. Đặc điểm đáng lo ngại là lỗ hổng có thể được khai thác từ xa mà không cần xác thực, với độ phức tạp tấn công thấp và không cần tương tác người dùng. Tuy nhiên, tác động chỉ giới hạn ở khả năng sẵn sàng của hệ thống (Availability) mà không ảnh hưởng đến tính bảo mật (Confidentiality) hay tính toàn vẹn (Integrity) dữ liệu.

Phân tích Kỹ thuật Sâu về Cơ chế Tấn công

Khai thác Stream Accounting Mismatch

Cốt lõi của MadeYouReset nằm ở việc khai thác sự bất đồng bộ giữa cách HTTP/2 đếm các luồng hoạt động và cách backend server thực sự xử lý requests. Theo đặc tả về HTTP/2 RFC 9113, khi một luồng được reset bằng RST_STREAM, nó ngay lập tức được coi là không hoạt động và không được tính vào giới hạn SETTINGS_MAX_CONCURRENT_STREAMS. Tuy nhiên, nhiều implementation thực tế vẫn tiếp tục xử lý request ở backend ngay cả sau khi luồng đã được reset ở tầng giao thức.

Kẻ tấn công tận dụng điều này bằng cách khởi tạo request hợp lệ trước, sau đó nhanh chóng gửi frame vi phạm giao thức để buộc server reset luồng. Trong khi giao thức coi luồng đã đóng và cho phép tạo luồng mới, backend vẫn đang tích cực xử lý request ban đầu, tạo ra tình trạng số lượng request thực sự đang được xử lý vượt xa giới hạn giao thức.

Chi tiết Six Attack Primitives

WINDOW_UPDATE với increment = 0 là primitive phổ biến nhất vì đơn giản và hiệu quả. Theo RFC 7540 section 6.9.1, việc nhận frame WINDOW_UPDATE với increment bằng 0 BẮT BUỘC phải được coi là lỗi giao thức và server phải phản hồi bằng RST_STREAM với error code PROTOCOL_ERROR. WINDOW_UPDATE làm overflow window bằng cách gửi increment làm cho flow control window vượt quá 2^31-1 cũng tạo ra FLOW_CONTROL_ERROR và RST_STREAM.

PRIORITY frame với độ dài sai khai thác yêu cầu nghiêm ngặt của giao thức rằng PRIORITY frame phải có độ dài chính xác 5 octet. Bất kỳ giá trị nào khác sẽ trigger PROTOCOL_ERROR. Data/Headers trên half-closed stream vi phạm state machine của HTTP/2 khi gửi frame dữ liệu trên luồng đã được đóng bằng END_STREAM flag.

Bypassing Rate Limiting Mechanisms

MadeYouReset đặc biệt nguy hiểm vì vượt qua được các cơ chế rate limiting truyền thống. Hầu hết các biện pháp phòng chống Rapid Reset đều dựa trên việc giới hạn số lượng RST_STREAM frame do client gửi. Tuy nhiên, trong MadeYouReset, tất cả RST_STREAM đều do server tự phát sinh để phản hồi các vi phạm giao thức hợp lệ từ client. Điều này khiến các hệ thống phòng thủ hiện tại không thể phân biệt được RST_STREAM do tấn công và RST_STREAM do lỗi giao thức thực sự.

Tác động Rộng lớn đến Hạ tầng Web

Ảnh hưởng đến CDN và Reverse Proxy

Content Delivery Networks (CDN)reverse proxy systems đặc biệt dễ bị tấn công bởi MadeYouReset vì chúng thường xử lý lượng lớn HTTP/2 connections và có thể bị khai thác để tấn công các origin servers phía sau. Khả năng của MadeYouReset trong việc bypass concurrent stream limits có thể cho phép kẻ tấn công sử dụng một kết nối TCP duy nhất để tạo ra hàng nghìn requests đến backend, gây overload nghiêm trọng cho origin servers.

Impact on Microservices Architecture

Trong môi trường microservices, nơi HTTP/2 được sử dụng rộng rãi cho service-to-service communication, MadeYouReset có thể gây ra cascade failures khi một service bị tấn công có thể làm sập toàn bộ service mesh. gRPC, một giao thức phổ biến trong microservices dựa trên HTTP/2, cũng bị ảnh hưởng và cần được cập nhật để tránh các cuộc tấn công này.

Business Continuity Risks

Rủi ro business continuity từ MadeYouReset bao gồm downtime không lên kế hoạch, degraded performance của các ứng dụng web quan trọng, và khả năng escalation thành out-of-memory crashes có thể cần reboot hệ thống. Đối với các tổ chức high-availability, việc không có biện pháp phòng chống MadeYouReset có thể dẫn đến violation of SLA và tác động tài chính nghiêm trọng.

Chiến lược Phòng thủ và Biện pháp Khắc phục

Patching và Cập nhật Khẩn cấp

  1. Apache Tomcat đã phát hành các bản vá trong phiên bản 11.0.10, 10.1.44, và 9.0.108 để khắc phục CVE-2025-48989.

  2. Netty đã sửa lỗi trong phiên bản 4.2.4.Final và 4.1.124.Final cho CVE-2025-55163.

  3. F5 BIG-IP đã cung cấp các engineering hotfix bao gồm Hotfix-BIGIP-17.5.1.0.80.7-ENG.iso, Hotfix-BIGIP-17.1.2.2.0.259.12-ENG.iso, và Hotfix-BIGIP-16.1.6.0.27.3-ENG.iso.

Việc áp dụng patch ngay lập tức là biện pháp hiệu quả nhất và được khuyến nghị cao nhất. Tổ chức nào chưa thể patch ngay lập tức có thể cân nhắc tạm thời disable HTTP/2 và fallback về HTTP/1.1 như một biện pháp tạm thời.

Đặt Giới Hạn

Các tổ chức cần triển khai giới hạn cho các loại frame điều khiển HTTP/2. Giới hạn đề xuất cho mỗi kết nối mỗi giây bao gồm PING frames ~100, SETTINGS frames ~5, PRIORITY frames ~30, và RST_STREAM frames ~5. Đặc biệt quan trọng là giám sát cả RST_STREAM đi và đến để phát hiện các pattern bất thường.

Behavioral-based monitoring cần được triển khai để phát hiện các dấu hiệu của MadeYouReset bao gồm tỷ lệ cao các frame WINDOW_UPDATE với increment nhỏ hoặc bằng 0, số lượng bất thường các frame PRIORITY với độ dài sai, và pattern reset streams ngay sau khi khởi tạo request.imperva

Multi-layered Defense Strategy

Chiến lược phòng thủ đa tầng cần bao gồm DDoS protection, Web Application Firewall (WAF) với khả năng deep packet inspection, và enhanced HTTP/2 protocol validation. Cloudflare và Akamai đã báo cáo rằng các hệ thống của họ không bị ảnh hưởng nhờ các biện pháp phòng thủ mạnh mẽ hơn đã được triển khai sau Rapid Reset.

Việc tăng cường protocol handling để từ chối các frame không hợp lệ ngay tại tầng parsing, connection-level flow control, và backend request limiting độc lập với HTTP/2 stream accounting cũng là những biện pháp quan trọng.

Kết luận

Lỗ hổng MadeYouReset không chỉ đơn thuần là một vấn đề bảo mật kỹ thuật mà còn đại diện cho một bước ngoặt quan trọng trong cách chúng ta tiếp cận bảo mật giao thức web. Việc phát hiện ra khả năng vượt qua các biện pháp phòng thủ hiện có một cách tinh vi thông qua các frame HTTP/2 có vẻ "bình thường" đã thay đổi paradigm trong việc phát hiện và phòng chống các cuộc tấn công DDoS. Điều này nhấn mạnh rằng security-by-obscurity không còn hiệu quả trong môi trường threat landscape hiện đại, nơi kẻ tấn công có khả năng reverse engineer và adapt các phương thức tấn công để bypass defensive measures.

Tham Khảo

  1. New HTTP/2 'MadeYouReset' Vulnerability Enables Large-Scale DoS Attacks

  2. Security vulnerability: CVE-2025-8671: HTTP/2 'MadeYouReset' DoS attack

  3. HTTP/2 implementations are vulnerable to "MadeYouReset" DoS attack through HTTP/2 control frames

  4. The ‘Made You Reset’ HTTP/2 DDoS Attack: Analysis and Mitigation

  5. MadeYouReset: The New HTTP/2 DDoS Threat and Mitigation Strategies

  6. Risky Bulletin: MadeYouReset vulnerability enables unlimited HTTP/2 DDoS attacks

  7. A Coordinated Response to MadeYouReset HTTP/2 Protocol Attacks

  8. VSV00017 Varnish HTTP/2 Made You Reset Attack

  9. Patch Now: Apache Tomcat Fixes Session Fixation and ‘MadeYouReset’ Flaws

  10. CVE-2023-44487: HTTP/2 Stream Cancellation Attack

  11. Rate limiting

  12. New HTTP/2 DoS Vulnerability Prompts Vendor and Project Fixes

0
Subscribe to my newsletter

Read articles from Đinh Văn Mạnh directly inside your inbox. Subscribe to the newsletter, and don't miss out.

Written by

Đinh Văn Mạnh
Đinh Văn Mạnh