-
09/04/2020
-
122
-
1.390 bài viết
Lỗ hổng “React2Shell” đe dọa gần một triệu máy chủ web React và Next.js toàn cầu
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, cho phép kẻ tấn công thực thi mã độc từ xa mà không cần đăng nhập. Phát hiện này gây chấn động cộng đồng phát triển bởi React và Next.js đang được sử dụng phổ biến trong vô số dịch vụ trực tuyến.
Các nhà nghiên cứu bảo mật bổ sung rằng lỗi nằm trong hàm requireModule thuộc gói react-server-dom-webpack. Hàm này chịu trách nhiệm tải và thực thi các hàm được gọi từ phía client nhưng do xử lý payload không an toàn nên đã mở ra lỗ hổng cho RCE.
Bên cạnh đó, việc giám sát log HTTP nhằm phát hiện các yêu cầu khả nghi gửi tới Server Function endpoints và tạm thời hạn chế truy cập mạng vào các dịch vụ chưa thể nâng cấp cũng là biện pháp cần thiết. Việc áp dụng bản vá chính thức được xem là yêu cầu bắt buộc bởi lỗ hổng có thể bị khai thác trực tiếp trên các cấu hình mặc định mà không cần bất kỳ điều kiện đặc biệt nào.
1. Nguyên nhân xuất hiện lỗ hổng
Theo nhóm phát triển React, lỗ hổng bắt nguồn từ cách React giải mã (decode) và giải tuần tự hóa (deserialization) các payload gửi đến Server Function endpoints trong giao thức React Flight. Quá trình xử lý này chứa lỗi logic khiến máy chủ tin tưởng dữ liệu đầu vào mà không kiểm tra đầy đủ. Khi React tiếp nhận một payload độc hại, dữ liệu này có thể ảnh hưởng trực tiếp đến luồng thực thi bên server.Các nhà nghiên cứu bảo mật bổ sung rằng lỗi nằm trong hàm requireModule thuộc gói react-server-dom-webpack. Hàm này chịu trách nhiệm tải và thực thi các hàm được gọi từ phía client nhưng do xử lý payload không an toàn nên đã mở ra lỗ hổng cho RCE.
2. Mức độ nguy hiểm
Do lỗ hổng không yêu cầu xác thực và có thể bị khai thác chỉ bằng một HTTP request được tạo thủ công, 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.
3. Bản vá và các phiên bản đã khắc phục
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
- 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
4. Khuyến cáo
Các chuyên gia khuyến cáo các tổ chức cần nhanh chóng cập nhật React và Next.js lên các phiên bản đã vá, đồng thời triển khai Web Application Firewall (WAF) để lọc các payload bất thường, trong bối cảnh các nhà cung cấp như Cloudflare, AWS, Akamai, Fastly và Google Cloud đã bổ sung quy tắc bảo vệ cho CVE-2025-55182.Bên cạnh đó, việc giám sát log HTTP nhằm phát hiện các yêu cầu khả nghi gửi tới Server Function endpoints và tạm thời hạn chế truy cập mạng vào các dịch vụ chưa thể nâng cấp cũng là biện pháp cần thiết. Việc áp dụng bản vá chính thức được xem là yêu cầu bắt buộc bởi lỗ hổng có thể bị khai thác trực tiếp trên các cấu hình mặc định mà không cần bất kỳ điều kiện đặc biệt nào.
WhiteHat
Chỉnh sửa lần cuối:
