Cảnh báo lỗ hổng React2Shell (CVE-2025-55182) trên các máy chủ React/Next.js
React vừa công bố một lỗ hổng bảo mật nghiêm trọng vừa được phát hiện trong React Server Components (RSC) - công nghệ nền tảng của nhiều ứng dụng web hiện đại với mã CVE-2025-55182 và đạt mức điểm CVSS 10. Lỗ hổng đã được đặt tên React2shell, chỉ cần một HTTP request đơn lẻ, cho phép kẻ tấn công thực thi mã tùy ý và chiếm toàn quyền kiểm soát máy chủ.
Tất cả các ứng dụng sử dụng RSC, bao gồm các framework phổ biến như Next.js, được khuyến cáo nâng cấp ngay lập tức để ngăn chặn nguy cơ bị tấn công.
1. Nguyên nhân và Mức độ nguy hiểm
Lỗ hổng xuất phát từ việc xử lý không an toàn các payload (gói dữ liệu) đến từ yêu cầu HTTP. Kẻ tấn công không cần xác thực (unauthenticated) có thể gửi request HTTP tạo thủ công tới máy chủ và thực thi mã độc
Các máy chủ sử dụng RSC hoặc các thư viện sau đều có nguy cơ cao bị tấn công:
- react-server-dom-webpack
- react-server-dom-parcel
- react-server-dom-turbopack
- Từ lỗ hổng trên kẻ tấn công có thể:
- Thực thi mã JavaScript tùy ý trên máy chủ với toàn bộ đặc quyền của tiến trình Node.js
- Chiếm quyền điều khiển server, cài mã độc hoặc mở backdoor
- Đánh cắp dữ liệu, phá hoại hệ thống hoặc mở rộng tấn công sang các dịch vụ khác trong nội bộ
- Tấn công từ xa và trên quy mô lớn do nhiều framework tích hợp RSC như Next.js App Router để rò rỉ endpoint Flight phơi nhiễm ra Internet.
- Dấu hiệu nhận biết:
- CPU luôn 100%
- Xuất hiện malware đào coin
- Máy chủ tham gia botnet Mirai
- Log chứa nhiều request lạ từ IP bất thường
- Dịch vụ chậm bất thường, VPS bị khóa do “abuse traffic”
2. Các phiên bản bị ảnh hưởng và bản vá bảo mật
React đã phát hành bản sửa lỗi cho các gói RSC bị ảnh hưởng:
- Các bản gây lỗi: 19.0, 19.1.0, 19.1.1, 19.2.0
- Các bản đã vá: 19.0.1, 19.1.2, 19.2.1
Next.js App Router cũng chịu ảnh hưởng và đã phát hành bản vá cho tất cả nhánh phiên bản liên quan:
- Phiên bản bị ảnh hưởng: từ 14.3.0-canary.77 trở lên, gồm toàn bộ nhánh 15 và 16
- Phiên bản đã vá: 16.0.7, 15.5.7, 15.4.8, 15.3.6, 15.2.6, 15.1.9, 15.0.5
- Cập nhật bản vá lỗi
Các gói liên quan đến React
npm install react@19.2.1 react-dom@19.2.1hoặc
yarn upgrade react@19.2.1 react-dom@19.2.1Các gói next.js
npm install next@15.0.5 # for 15.0.x
npm install next@15.1.9 # for 15.1.x
npm install next@15.2.6 # for 15.2.x
npm install next@15.3.6 # for 15.3.x
npm install next@15.4.8 # for 15.4.x
npm install next@15.5.7 # for 15.5.x
npm install next@16.0.7 # for 16.0.x
npm install next@15.6.0-canary.58 # for 15.x canary releases
npm install next@16.1.0-canary.12 # for 16.x canary releasesNếu bạn đang sử dụng Next.js 14.3.0-canary.77 hoặc phiên bản canary mới hơn, hãy hạ cấp xuống phiên bản ổn định 14.x mới nhất
npm install next@14Thông tin chi tiết tham khảo:
https://react.dev/blog/2025/12/03/critical-security-vulnerability-in-react-server-components
https://nextjs.org/blog/CVE-2025-66478
3. Hướng xử lý và khắc phục
Nếu máy chủ của bạn đã bị chiếm quyền và cài mã độc bạn cần thực hiện các bước sau:
- Backup dữ liệu: Backup lại toàn bộ các dữ liệu quan trọng (sourch code, database, file cấu hình sạch) và tải về máy cá nhận
- Cài lại máy chủ: Thực hiện cài lại máy chủ về như mới và đổi lại mật khẩu các tài khoản để đảm bảo sạch mã độc.
- Cập nhật bản vá: Cài lại các ứng dụng đúng phiên bản đã được vá trước khi upload lại dữ liệu lên máy chủ.
4. Công cụ tìm kiếm và kiểm tra lỗ hổng tại iNET
Bạn có thể tham khảo hướng dẫn sau để quét máy chủ:
https://helpdesk.inet.vn/blog/huong-dan-su-dung-cong-cu-tim-kiem-va-kiem-tra-lo-hong-react2shell
React2Shell là mối đe dọa ở mức cực kỳ nghiêm trọng, ảnh hưởng trực tiếp đến hệ thống ứng dụng và dữ liệu doanh nghiệp. Trì hoãn việc nâng cấp không phải là lựa chọn, không có cách đi vòng nào bạn cần nâng cấp bản vá ngay để đảm bảo an toàn dữ liệu và bảo mật.