# 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)** và **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](https://www.imperva.com/cyber-threat-index/threat-research/)

## 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](https://thehackernews.com/2025/08/new-http2-madeyoureset-vulnerability.html)
    
2. [Security vulnerability: CVE-2025-8671: HTTP/2 'MadeYouReset' DoS attack](https://www.suse.com/support/kb/doc/?id=000021980)
    
3. [HTTP/2 implementations are vulnerable to "MadeYouReset" DoS attack through HTTP/2 control frames](https://kb.cert.org/vuls/id/767506)
    
4. [The ‘Made You Reset’ HTTP/2 DDoS Attack: Analysis and Mitigation](https://tempesta-tech.com/blog/made-you-reset-http2-ddos-attack-analysis-and-mitigation/)
    
5. [MadeYouReset: The New HTTP/2 DDoS Threat and Mitigation Strategies](https://fastnetmon.com/2025/08/13/madeyoureset-the-new-http-2-ddos-threat-and-mitigation-strategies/)
    
6. [Risky Bulletin: MadeYouReset vulnerability enables unlimited HTTP/2 DDoS attacks](https://news.risky.biz/risky-bulletin-madeyoureset-vulnerability-enables-unlimited-http-2-ddos-attacks/)
    
7. [A Coordinated Response to MadeYouReset HTTP/2 Protocol Attacks](https://www.akamai.com/blog/security/response-madeyoureset-http2-protocol-attacks)
    
8. [VSV00017 Varnish HTTP/2 Made You Reset Attack](https://varnish-cache.org/security/VSV00017.html)
    
9. [Patch Now: Apache Tomcat Fixes Session Fixation and ‘MadeYouReset’ Flaws](https://securityonline.info/patch-now-apache-tomcat-fixes-session-fixation-and-madeyoureset-flaws/)
    
10. [CVE-2023-44487: HTTP/2 Stream Cancellation Attack](https://advisories.gitlab.com/pkg/maven/org.eclipse.jetty.http2/jetty-http2-common/CVE-2023-44487/)
    
11. [Rate limiting](https://ddos-guard.net/tutorials/website-protection/rate-limiting)
    
12. [New HTTP/2 DoS Vulnerability Prompts Vendor and Project Fixes](https://thecyberexpress.com/new-http-2-dos-vulnerability/)
