Lỗ hổng bảo mật mang tên “React2Shell” với mã định danh CVE-2025-55182 (cho React) và CVE-2025-66478 (cho Next.js) đang gây ra mối đe dọa rất Nghiêm trọng (Critical) cho các máy chủ web sử dụng React và Next.js. Điểm nguy hiểm là lỗ hổng này không yêu cầu xác thực và có thể bị khai thác chỉ bằng một HTTP request đơn giản, cho phép kẻ tấn công thực thi mã tùy ý và chiếm quyền điều khiển toàn bộ server. Bài viết này sẽ hướng dẫn bạn kiểm tra các dấu hiệu máy chủ đã bị xâm nhập và cách xác định phiên bản bị ảnh hưởng để có hướng xử lý kịp thời.
Mức độ nguy hiểm
- Mã định danh:
- CVE-2025-55182 (React).
- CVE-2025-66478 (Next.js).
- Mức độ: Rất nghiêm trọng (Critical).
- Đặc điểm: Không yêu cầu xác thực, có thể khai thác bằng HTTP request thủ công.
- Hậu quả:
- Thực thi mã JavaScript tùy ý (RCE) trên máy chủ với tiến trình đặc quyền cao.
- Chiếm quyền điều khiển server, cài mã độc (backdoor, đào coin, botnet Mirai).
- Thực hiện tấn công DDoS, đánh cắp dữ liệu hoặc phá hoại hệ thống.

Các phiên bản bị ảnh hưởng và bản vá
| Đối tượng | Phiên bản có lỗ hổng | Phiên bản an toàn |
|---|---|---|
| Reaction (Core) | 19.0.0, 19.1.0, 19.1.1, 19.2.0 | 19.0.1, 19.1.2, 19.2.1 |
| Next.js (framework) | 15.x, 16.x, 14.3.0-canary.77+ | 15.0.5, 15.1.9, 15.2.6, 15.3.6, 15.4.8, 15.5.7, 16.0.7 |
| Canary Builds | > 14.3.0-canary.77 | Hạ phiên bản về Next.js 14.x và chờ có bản vá. |
Hướng dẫn kiểm tra máy chủ
Máy chủ của bạn có thể có lỗ hổng hoặc đã bị chiếm quyền nếu rơi vào các tình huống sau:
- Kiểm tra dấu hiệu bị chiếm quyền
- Phát hiện những tiến trình lạ tiêu tốn tài nguyên CPU hệ thống một cách bất thường. Bạn có thể sử dụng các lệnh như
tophoặchtopđể kiểm tra. - Phát hiện file lạ được tạo sau thời điểm công bố lỗ hổng (ví dụ 29/11/2025).
Kiểm tra bằng lệnh:
find /tmp /etc/cron* -type f -newermt "2025-11-29" -ls

2. Kiểm tra trong môi trường Docker (React/Node.js)
Nếu ứng dụng chạy bằng Docker, dùng lệnh sau để kiểm tra phiên bản React trong container:
docker ps -q | xargs -I {} sh -c 'docker exec {} npm list react' 2>/dev/null
3. Xác định phiên bản React/Next.js đang sử dụng
Sau khi có được số phiên bản, bạn hãy đối chiếu với các phiên bản bị ảnh hưởng ở trên để xác định xem hệ thống của bạn có nằm trong vùng bị ảnh hưởng hay không.
| Đối tượng | Phiên bản có lỗ hổng |
|---|---|
| Reaction (Core) | 19.0.0, 19.1.0, 19.1.1, 19.2.0 |
| Next.js (framework) | 15.x, 16.x, 14.3.0-canary.77+ |
| Canary Builds | > 14.3.0-canary.77 |
Hướng xử lý
Để bảo vệ server khỏi nguy cơ bị khai thác hoặc làm sạch hệ thống đã bị chiếm quyền, bạn cần:
- Lập tức backup dữ liệu nếu server có sử dụng các thành phần React/Next.js (đặc biệt các phiên bản bị ảnh hưởng).
- Cập nhật phiên bản thư viện React/Next.js lên ngay phiên bản an toàn theo bảng trên.
- Nếu máy chủ có dấu hiệu bị chiếm quyền (compromised) (phát hiện tiến trình lạ, file lạ), bắt buộc phải cài lại hoàn toàn hệ điều hành để đảm bảo loại bỏ hoàn toàn mã độc và backdoor.
React2Shell là lời nhắc nhở về tầm quan trọng của việc theo dõi và cập nhật bảo mật thường xuyên. Các quản trị viên và nhà phát triển cần nhanh chóng kiểm tra hệ thống, áp dụng bản vá kịp thời để hạn chế nguy cơ bị tấn công. Việc chủ động theo dõi thông tin bảo mật và duy trì thư viện ở phiên bản mới nhất chính là lớp bảo vệ hiệu quả nhất cho hạ tầng của bạn.




