Hai lỗ hổng nghiêm trọng trong React và Next.js

Ngày 3 tháng 12 năm 2025, cộng đồng bảo mật toàn cầu đón nhận thông tin về hai lỗ hổng nghiêm trọng cho phép thực thi mã từ xa (RCE) không cần xác thực trong hệ sinh thái React 19 và Next.js. Được đánh số CVE-2025-55182 (React) và CVE-2025-66478 (Next.js), các lỗ hổng này được xếp hạng CVSS 10.0 - mức độ nghiêm trọng cao nhất, ảnh hưởng đến cấu hình mặc định của hàng triệu ứng dụng web.
Bản chất kỹ thuật của lỗ hổng
Lỗ hổng nằm ở giao thức "Flight" của React Server Components (RSC), một cơ chế cho phép server render và stream cây component. Khi xử lý các payload RSC, React thực hiện deserialization không an toàn, không kiểm tra chặt chẽ cấu trúc dữ liệu đầu vào. Điều này cho phép kẻ tấn công chế tạo HTTP request đặc biệt để kích hoạt thực thi mã tùy ý trên server.

Source: Qualys Threat Research Unit (TRU)
React Server Functions cho phép client gọi hàm trên server thông qua HTTP requests. React chuyển đổi các request này thành lệnh gọi hàm trên server và trả về dữ liệu cho client. Lỗ hổng xuất hiện khi decoder phía server không thực hiện xác thực nghiêm ngặt dữ liệu đến, cho phép dữ liệu do kẻ tấn công kiểm soát ảnh hưởng đến logic thực thi.

Source: Qualys Threat Research Unit (TRU)
Các sản phẩm và phiên bản bị ảnh hưởng
React và các gói liên quan
react-server-dom-webpack: phiên bản 19.0.0, 19.1.0, 19.1.1, 19.2.0
react-server-dom-parcel: phiên bản 19.0.0, 19.1.0, 19.1.1, 19.2.0
react-server-dom-turbopack: phiên bản 19.0.0, 19.1.0, 19.1.1, 19.2.0
Next.js
Next.js 15.x và 16.x khi sử dụng App Router
Next.js 14.3.0-canary.77 và các bản canary sau đó
Next.js 13.x, 14.x stable, Pages Router và Edge Runtime không bị ảnh hưởng
Các framework và plugin khác
Vite RSC plugin, Parcel RSC plugin, React Router RSC preview, RedwoodJS, Waku
Expo, Redwood SDK, @vitejs/plugin-rsc cũng nằm trong danh sách bị ảnh hưởng
Chủ động kiểm tra hệ thống
Assetnote đã công bố một cơ chế kiểm tra độ tin cậy cao (high-fidelity) cho các ứng dụng Next.js dựa trên RSC/React2Shell. Các bên bị ảnh hưởng có sử dụng công cụ này để kiểm tra hàng loạt các máy thay vì kiểm tra tay phiên bản từng máy chủ.

Mức độ lây lan và tác động
Theo dữ liệu từ Wiz Research, 39% môi trường đám mây có các phiên bản React hoặc Next.js dễ bị tấn công. Đặc biệt, 44% môi trường đám mây có các ứng dụng Next.js được tiếp cận công khai. Với hàng chục triệu website sử dụng React và Next.js, bao gồm các nền tảng lớn như Airbnb và Netflix, quy mô tấn công có thể rất nghiêm trọng.
Tỷ lệ khai thác thành công gần như 100% và không yêu cầu bất kỳ thay đổi mã nào để có hiệu lực đối với cấu hình mặc định. Chỉ cần một HTTP request đơn giản, kẻ tấn công có thể khởi chạy quy trình trên server với đặc quyền React.
Hướng dẫn khắc phục chi tiết
Các phiên bản đã vá
React:
- react-server-dom-* phiên bản 19.0.1, 19.1.2, 19.2.1
Next.js:
15.0.5, 15.1.9, 15.2.6, 15.3.6, 15.4.8, 15.5.7, 16.0.7
15.6.0-canary.58 cho người dùng cần tính năng PPR
Các bước nâng cấp cụ thể
Next.js:
bashnpm install next@15.0.5 # cho 15.0.x
npm install next@15.1.9 # cho 15.1.x
npm install next@15.2.6 # cho 15.2.x
npm install next@15.3.6 # cho 15.3.x
npm install next@15.4.8 # cho 15.4.x
npm install next@15.5.7 # cho 15.5.x
npm install next@16.0.7 # cho 16.0.x
Nếu đang sử dụng Next.js 14.3.0-canary.77 hoặc bản canary mới hơn, hãy downgrade về 14.x stable:
bashnpm install next@14
React Router:
bashnpm install react@latest react-dom@latest react-server-dom-parcel@latest react-server-dom-webpack@latest @vitejs/plugin-rsc@latest
Redwood SDK:
bashnpm install rwsdk@latest react@latest react-dom@latest react-server-dom-webpack@latest
Waku:
bashnpm install react@latest react-dom@latest react-server-dom-webpack@latest waku@latest
Không có tùy chọn cấu hình nào để vô hiệu hóa đường dẫn mã dễ bị tấn công.
Timeline và quá trình phát hiện
29 tháng 11: Lachlan Davidson báo cáo lỗ hổng qua Meta Bug Bounty
30 tháng 11: Các nhà nghiên cứu bảo mật của Meta xác nhận và bắt đầu làm việc với nhóm React
1 tháng 12: Bản vá được tạo, nhóm React bắt đầu phối hợp với các nhà cung cấp hosting và dự án open source
2 tháng 12: Công bố công khai lỗ hổng và các bản vá
Lỗ hổng được đặt tên "React2Shell" bởi cộng đồng bảo mật, cho thấy khả năng tạo shell từ xa.
Khuyến nghị
Ưu tiên nâng cấp: Đây là biện pháp khắc phục duy nhất và chắc chắn
Kiểm tra môi trường: Sử dụng các công cụ quét để xác định các phiên bản dễ bị tấn công trong môi trường đám mây
Không phụ thuộc vào giải pháp tạm thời: Mặc dù các nhà cung cấp hosting đã triển khai các biện pháp giảm thiểu tạm thời, không nên phụ thuộc vào chúng để bảo vệ ứng dụng
Tham khảo
React4Shell vulnerability: protecting web servers from CVE-2025-55182
React Server Components (RSC) Remote Code Execution Vulnerabilities
Critical Vulnerabilities in React and Next.js: everything you need to know
Critical Vulnerabilities in React Server Components and Next.js
China-nexus cyber threat groups rapidly exploit React2Shell vulnerability (CVE-2025-55182)
Responding to CVE-2025-55182: Secure your React and Next.js workloads






