Cảnh báo khẩn cấp: Lỗ hổng CVE-2025-55182 RCE nghiêm trọng trong React

Vào tháng 12 năm 2025, một lỗ hổng CVE-2025-55182, được biết đến với tên React2Shell, đã được công bố công khai. Đây là một lỗ hổng trong React Server Components (RSC) cho phép thực thi mã từ xa (RCE).
Ngay sau khi công bố, nhiều nhà cung cấp bảo mật đã ghi nhận hoạt động quét và các nỗ lực khai thác đáng ngờ, dẫn đến việc CISA bổ sung lỗ hổng này vào danh mục Known Exploited Vulnerabilities (KEV) của họ.
Tổng quan về React2Shell (CVE-2025-55182)
React2Shell không gắn liền với một framework cụ thể. Thay vào đó, nó bắt nguồn từ điểm yếu cấu trúc trong tính năng RSC, ảnh hưởng đến toàn bộ hệ sinh thái React. Đây là một lỗ hổng CVE-2025-55182 với mức độ nghiêm trọng cao và khả năng tác động rộng.
Bản chất lỗ hổng và cơ chế khai thác
Lỗ hổng CVE-2025-55182 gây ra bởi một lỗi xác thực trong quá trình deserialization của giao thức Flight, mà React Server Components sử dụng để trao đổi trạng thái giữa máy chủ và client.
Kẻ tấn công có thể đạt được remote code execution chỉ bằng cách gửi một payload được chế tạo đến endpoint của Server Functions mà không cần xác thực.
Với Proof-of-Concept (PoC) đã được công khai, lỗ hổng này rất dễ bị tấn công tự động và lan rộng.
Phạm vi ảnh hưởng của lỗ hổng
Tác động của lỗ hổng CVE-2025-55182 mở rộng đến tất cả các dịch vụ sử dụng RSC. Các framework như Next.js, React Router RSC, Waku, Vite RSC Plugin, Parcel RSC Plugin và RedwoodJS đều chia sẻ cấu trúc nền tảng tương tự.
Do đó, toàn bộ hệ sinh thái React có nguy cơ bị ảnh hưởng. Lỗ hổng này được xếp hạng CVSS 10.0, cho thấy mức độ nghiêm trọng là cực kỳ cao.
Thách thức trong phát hiện
Việc phát hiện lỗ hổng CVE-2025-55182 sử dụng các phương pháp truyền thống, như kiểm tra banner sản phẩm hoặc nội dung HTML, là rất khó khăn.
Các dịch vụ dựa trên React được thiết kế sao cho các thành phần RSC thường không bị phơi bày ra bên ngoài. Các framework như Next.js tích hợp các module React nội bộ, khiến việc xác định ngăn xếp công nghệ cơ bản trở nên phức tạp hơn.
Kết quả là, các phương pháp phát hiện dựa trên banner đơn giản không thể xác định một cách đáng tin cậy liệu RSC có được kích hoạt hay liệu một dịch vụ có bị phơi nhiễm với lỗ hổng CVE-2025-55182 này hay không.
Phương pháp phát hiện thực tế
Trong môi trường thực tế, phương pháp phát hiện đáng tin cậy nhất là xác định các hệ thống dựa trên HTTP response headers.
Các máy chủ có RSC được kích hoạt sẽ luôn hiển thị các giá trị tiêu đề sau:
Vary: RSC, Next-Router-State-TreeMẫu tiêu đề này chỉ ra rằng RSC đang hoạt động trên các máy chủ đó. Mặc dù không phải tất cả chúng đều chắc chắn dễ bị tấn công, đây là một chỉ báo quan trọng về bề mặt tấn công quy mô lớn tiềm tàng.
Chỉ số Phát hiện (Indicators of Detection)
Để xác định các máy chủ có khả năng bị ảnh hưởng bởi lỗ hổng CVE-2025-55182, có thể sử dụng các truy vấn tìm kiếm dựa trên các mẫu HTTP response headers đã nêu.
Ví dụ về truy vấn tìm kiếm các hệ thống có tiêu đề HTTP đặc trưng của RSC:
"Vary: RSC, Next-Router-State-Tree"Một phân tích sử dụng tiêu chí này đã xác định tổng cộng 109.487 tài sản có RSC được kích hoạt tại Hoa Kỳ, cho thấy mức độ phơi nhiễm đáng kể.
Dữ liệu phân tích chi tiết cho một tài sản cụ thể có thể bao gồm các cổng **80** và **443** được phơi bày ra bên ngoài, chi tiết chứng chỉ SSL, danh sách lỗ hổng và liên kết Exploit DB. Điều này giúp đánh giá liệu một môi trường có thực sự bị khai thác bởi kẻ tấn công hay không.
Ví dụ, trong một tài sản, các chỉ số liên quan đến React2Shell đã được xác định cùng với các lỗ hổng nghiêm trọng khác, bao gồm CVE-2023-44487 (HTTP/2 Rapid Reset), vốn đã bị lạm dụng rộng rãi trong các cuộc tấn công DDoS quy mô lớn.
Biện pháp khắc phục và phòng ngừa
Các tổ chức nên hành động ngay lập tức để bảo vệ hệ thống khỏi lỗ hổng CVE-2025-55182.
Cập nhật bản vá bảo mật
Điều quan trọng là phải cập nhật bản vá tất cả các gói liên quan đến React lên phiên bản mới nhất đã được vá lỗi. Cụ thể:
- Gói react-server-dom-webpack phải được nâng cấp lên phiên bản 19.0.1, 19.1.2, hoặc 19.2.1 trở lên.
- Các gói react-server-dom-parcel và react-server-dom-turbopack nên được cập nhật lên phiên bản 19.0.1 trở lên.
Do RSC được sử dụng trên nhiều framework, bao gồm Next.js, Vite, Parcel và RedwoodJS, và Next.js tự tích hợp các module RSC, việc chỉ cập nhật các gói React có thể không tự động áp dụng bản sửa lỗi.
Do đó, điều cần thiết là phải xem xét các thông báo bảo mật hoặc ghi chú phát hành chính thức của từng framework và nâng cấp lên phiên bản trong đó lỗ hổng CVE-2025-55182 đã được khắc phục hoàn toàn.
Các biện pháp giảm thiểu bổ sung
Bất cứ khi nào có thể, hãy hạn chế quyền truy cập bằng cách sử dụng reverse proxy, WAF (Web Application Firewall) hoặc authentication gateway.
Bên cạnh việc áp dụng các bản vá, việc xác định các dịch vụ RSC bị phơi nhiễm và thực hiện giám sát theo thời gian thực là những thành phần thiết yếu của chiến lược phản ứng hiệu quả đối với lỗ hổng React2Shell.







