Trang chủBlogLỗ hổng React2Shell: Đánh giá ảnh hưởng từ góc nhìn của chuyên gia bảo mật CyStack
News & Trends

Lỗ hổng React2Shell: Đánh giá ảnh hưởng từ góc nhìn của chuyên gia bảo mật CyStack

CyStack blog 5 phút để đọc
CyStack blog04/12/2025
Locker Avatar

Huy Nguyễn

Head of Security. Strategist. Defender. Building resilient defenses for the modern web.
Locker logo social
Reading Time: 5 minutes

Vào ngày 3/12/2025, đội ngũ phát triển React đã phát đi cảnh báo khẩn cấp về một lỗ hổng Thực thi mã từ xa (RCE) nghiêm trọng nằm trong React Server Components (RSC). Lỗ hổng này cho phép kẻ tấn công chưa xác thực có thể chạy mã JavaScript tùy ý ngay trên máy chủ.

Được định danh là CVE‑2025‑55182 và mang tên “React2Shell”, lỗ hổng này có điểm nghiêm trọng tuyệt đối theo thang đo CVSS v3 là 10.0. Điều đáng lưu ý là ngay cả khi ứng dụng không chủ động sử dụng các server function (hàm máy chủ), hệ thống vẫn có thể bị khai thác nếu tính năng RSC đang được bật.

Bối cảnh của lỗ hổng

React, nền tảng được phát triển bởi Facebook, là “xương sống” của phát triển web hiện đại, chuyên dùng để xây dựng các thành phần giao diện (UI) có tính tương tác cao. Một tính năng quan trọng trong hệ sinh thái này là React Server Components (RSC) – cho phép một phần ứng dụng chạy trên máy chủ và truyền kết quả về trình duyệt để tối ưu hóa hiệu năng. Chính thành phần này là nơi chứa lỗ hổng bảo mật nghiêm trọng nói trên.

Lỗ hổng React2Shell theo góc nhìn chuyên gia

Rủi ro này lần đầu được phát hiện vào ngày 29/11/2025 bởi nhà nghiên cứu Lachlan Davidson. Ông đã lập tức báo cáo cho đội ngũ phát triển của React và Next.js (framework web hàng đầu dựa trên React). Đến ngày 3/12/2025, cả hai nhóm phát triển đã phát đi thông báo khẩn cấp cùng hướng dẫn cập nhật bản vá để ngăn chặn rủi ro.

Cơ chế hoạt động của lỗ hổng

Về bản chất, CVE‑2025‑55182 là một lỗ hổng giải tuần tự không an toàn (insecure deserialization) trong cách React Server Components xử lý dữ liệu.

Một kẻ tấn công không cần xác thực có thể tạo ra một HTTP request (yêu cầu web) độc hại và gửi nó đến bất kỳ endpoint nào của Server Function. Khi React cố gắng giải mã (deserialize) request này, nó sẽ kích hoạt việc thực thi mã tùy ý trên máy chủ. Các chi tiết kỹ thuật sâu hơn hiện đang được giữ kín cho đến khi phần lớn hệ sinh thái người dùng đã cập nhật bản vá.

Lỗ hổng React ảnh hưởng đến 10.0 CVSS khiến React2Shell trở thành lỗ hổng nguy hiểm nhất lịch sử

Cơ chế chính:

  • Payload: Kẻ tấn công tạo ra một gói dữ liệu không hợp lệ, buộc máy chủ phải thực thi đoạn mã được cài cắm bên trong payload đó ngay trong quá trình giải mã.

  • Khả năng tiếp cận: Do RSC thường được bật theo mặc định, các ứng dụng có thể bị xâm nhập ngay cả khi chúng không triển khai server function một cách rõ ràng.

Cái tên “React2Shell” được các nhà nghiên cứu đặt ra nhằm gợi nhớ đến Log4Shell, ám chỉ mức độ nghiêm trọng tương đương trong giới bảo mật toàn cầu. Tính đến thời điểm cập nhật bài viết này, chưa có ghi nhận công khai nào về việc khai thác lỗ hổng này trong thực tế để vượt qua các cấu hình mặc định, và các hãng bảo mật uy tín cũng chưa xác nhận trường hợp hệ thống nào bị xâm nhập.

Ảnh hưởng rộng khắp của React2Shell

React2Shell được đánh giá là một trong những lỗ hổng nguy hiểm nhất trong vài năm trở lại đây vì nó vi phạm một nguyên tắc nền tảng của bảo mật phần mềm: mã chạy phía máy chủ không bao giờ được phép chịu sự kiểm soát của dữ liệu đầu vào từ người dùng.

Trong bối cảnh web hiện đại, sự kết hợp giữa truy cập từ xa, không cần xác thực, không cần tương tác người dùng (zero-click), và chiếm quyền điều khiển cấp server đại diện cho mức độ rủi ro cao nhất.

  • Sự phổ biến: Theo khảo sát “State of JavaScript 2024”, 82% lập trình viên sử dụng React.

  • Dễ dàng khai thác: Với việc RSC được bật mặc định trên nhiều framework (đặc biệt là Next.js), chỉ một sơ suất nhỏ trong cấu hình cũng có thể khiến máy chủ production bị lộ diện.

  • Hậu quả: Khai thác thành công cho phép kẻ tấn công đánh cắp dữ liệu nhạy cảm, thao túng logic ứng dụng, hoặc cài đặt mã độc tồn tại dai dẳng trên hệ thống.

React2Shell (CVE‑2025‑55182) ảnh hưởng sâu rộng về bảo mật của các tính năng và dịch vụ toàn cầu

React là nền tảng đứng sau vô số hệ thống, từ thương mại điện tử, bảng quản trị SaaS đến các hệ thống tài chính. Nhiều đội ngũ phát triển thậm chí không nhận ra họ đang sử dụng các giải pháp bị ảnh hưởng do cơ chế mặc định của framework.

Phương án xử lý và khuyến nghị

Khả năng tấn công dễ dàng đòi hỏi hành động ngay lập tức. React2Shell không chỉ đặt website vào tình thế rủi ro mà còn đe dọa cả hạ tầng backend – bao gồm cơ sở dữ liệu, API nội bộ và các dịch vụ đám mây. Mặc dù Next.js đã phát đi cảnh báo riêng, nguyên nhân gốc rễ vẫn nằm trong các gói server của React.

CyStack khuyến nghị các tổ chức cần kiểm kê ngay lập tức mọi dịch vụ phụ thuộc vào các gói này, bao gồm microservice, serverless function và các workload backend khác.

1. Cập nhật thư viện ngay tức thì

Biện pháp đối phó hiệu quả nhất là nâng cấp lên các phiên bản đã vá của react-server-dom-*

  • Các phiên bản: 19.0.1, 19.1.2, hoặc 19.2.1.

  • Đối với người dùng Next.js: Đảm bảo nâng cấp đúng phiên bản vá tương ứng với nhánh phiên bản mà tổ chức đang sử dụng.

  • Hệ sinh thái liên quan: Kiểm tra cập nhật từ các framework liên quan như React Router, Expo, Redwood SDK và Waku.

2. Áp dụng các biện pháp tạm thời

Đối với các ứng dụng chưa thể vá ngay lập tức, hãy triển khai các lớp bảo vệ sau:

  • WAF & Reverse Proxy: Cấu hình Tường lửa Ứng dụng Web (WAF) để phát hiện và chặn các payload đáng ngờ nhắm vào các endpoint RSC.

  • Giám sát: Theo dõi chặt chẽ log để phát hiện các yêu cầu HTTP bất thường.

  • Quét lỗ hổng: Sử dụng các công cụ như CyStack VulnScan hoặc các giải pháp rà quét toàn diện tương tự để xác định các tài sản bị phơi nhiễm trong hạ tầng.

3. Theo dõi thông báo từ nhà cung cấp

Duy trì cảnh giác với các cập nhật từ đội ngũ React và Next.js. Lưu ý rằng các cơ sở dữ liệu bảo mật có thể gộp CVE của Next.js vào CVE chính của React, do đó các công cụ quản lý lỗ hổng có thể chỉ hiển thị mã CVE‑2025‑55182.

Kết luận

Lỗ hổng React2Shell nhấn mạnh tầm quan trọng cốt yếu của việc giải tuần tự dữ liệu an toàn (secure data serialization), đồng thời cho thấy các framework JavaScript hiện đại có ảnh hưởng sâu rộng thế nào đến bảo mật backend. Dù chưa ghi nhận khai thác thực tế tính đến đầu tháng 12/2025, nhưng mức độ nghiêm trọng, khả năng tấn công dễ dàng và sự phổ biến của React là lời cảnh báo rằng các tổ chức không được phép trì hoãn.

Nâng cấp lên phiên bản vá mới nhất, rà soát việc sử dụng RSC và triển khai các lớp bảo vệ tạm thời để giảm thiểu rủi ro. Hãy cập nhật thường xuyên các thông báo từ nhà cung cấp và luôn trong trạng thái sẵn sàng phản ứng trước bất kỳ dấu hiệu khai thác nào.

Huy Nguyễn
Chuyên gia bảo mật từ CyStack

0 Bình luận

Đăng nhập để thảo luận

CyStack blog

Mẹo, tin tức, hướng dẫn và các best practice độc quyền của CyStack

Đăng ký nhận bản tin của chúng tôi

Hãy trở thành người nhận được các nội dung hữu ích của CyStack sớm nhất

Xem chính sách của chúng tôi Chính sách bảo mật.

Đăng ký nhận Newsletter

Nhận các nội dung hữu ích mới nhất