Remote Code Execution nghiêm trọng từ lỗ hổng CVE React/Next.js

Remote Code Execution nghiêm trọng từ lỗ hổng CVE React/Next.js

Một lỗ hổng bảo mật nghiêm trọng trong ReactNext.js cho phép kẻ tấn công thực thi mã độc từ xa (remote code execution) trên các máy chủ mà không cần xác thực.

Lỗ hổng này ảnh hưởng đến React Server Components (RSC) và giao thức “Flight” được sử dụng để truyền dữ liệu giữa trình duyệt và máy chủ.

Nội dung
Phân tích lỗ hổng CVE và cơ chế khai thác

Cơ chế Insecure Deserialization
Phạm vi ảnh hưởng và rủi ro bảo mật
Biện pháp khắc phục và bản vá bảo mật

Phân tích lỗ hổng CVE và cơ chế khai thác

Các lỗ hổng được theo dõi với mã định danh CVE-2025-55182 cho React và CVE-2025-66478 cho Next.js. Chúng được đánh giá ở mức độ nghiêm trọng cao nhất (highest severity) và cho phép remote code execution không cần xác thực.

Cơ chế khai thác chủ yếu dựa trên việc kẻ tấn công gửi một yêu cầu HTTP được chế tạo đặc biệt đến máy chủ bị ảnh hưởng. Vấn đề cốt lõi nằm ở lỗi insecure deserialization bên trong quá trình xử lý payload của giao thức RSC “Flight”.

Cơ chế Insecure Deserialization

Khi máy chủ nhận được một payload độc hại, nó không thể xác minh cấu trúc của payload đó một cách chính xác.

Hậu quả là dữ liệu do kẻ tấn công kiểm soát có thể tác động đến luồng thực thi của máy chủ, dẫn đến việc chạy các mã JavaScript đặc quyền.

Lỗi này cho phép kẻ tấn công đạt được khả năng remote code execution trên hệ thống mục tiêu.

Phạm vi ảnh hưởng và rủi ro bảo mật

Rủi ro từ lỗ hổng CVE này là đặc biệt nghiêm trọng vì các cấu hình mặc định cũng có thể bị ảnh hưởng.

Một ứng dụng Next.js tiêu chuẩn, được tạo bằng create-next-app và được xây dựng cho môi trường sản xuất mà không có bất kỳ thay đổi bổ sung nào, vẫn có thể bị tấn công.

Thử nghiệm cho thấy kỹ thuật khai thác có độ tin cậy rất cao, với tỷ lệ thành công gần 100% trong điều kiện phòng thí nghiệm.

Báo cáo từ Wiz Research chỉ ra rằng 39% các môi trường đám mây chứa các phiên bản React hoặc Next.js dễ bị tấn công.

Cụ thể, Next.js xuất hiện trong 69% các môi trường được quét, và hầu hết trong số đó có các ứng dụng hướng ra công chúng.

Điều này có nghĩa là một số lượng lớn các hệ thống tiếp xúc với internet có thể gặp rủi ro nếu không được cập nhật bản vá bảo mật kịp thời.

Các framework hoặc bundler khác sử dụng triển khai server React dễ bị tấn công cũng có nguy cơ.

  • React Router RSC
  • Vite RSC plugins
  • Parcel RSC plugins
  • RedwoodSDK
  • Waku

Toàn bộ hệ sinh thái phụ thuộc vào các thành phần React Server Components cần được kiểm tra và cập nhật.

Biện pháp khắc phục và bản vá bảo mật

Để đối phó với lỗ hổng CVE-2025-55182CVE-2025-66478, các nhà phát triển đã phát hành các bản vá quan trọng.

React đã phát hành các bản sửa lỗi trong các phiên bản sau của gói react-server-dom:

  • 19.0.1
  • 19.1.2
  • 19.2.1

Người dùng được khuyến nghị truy cập trang blog chính thức của React để biết thêm chi tiết về các cập nhật này: React Security Advisory.

Next.js cũng đã cung cấp các bản phát hành được tăng cường bảo mật trên các nhánh được hỗ trợ. Thông tin chi tiết có sẵn trên blog của Next.js: Next.js Security Advisory.

Các nhóm bảo mật được khuyến nghị nâng cấp ngay lập tức React, Next.js và tất cả các phụ thuộc liên quan đến RSC.

Mặc dù các biện pháp giảm thiểu từ nhà cung cấp dịch vụ lưu trữ có thể giảm thiểu rủi ro, nhưng chúng không thể thay thế cho việc áp dụng bản vá bảo mật đầy đủ.

Cho đến khi các hệ thống được cập nhật hoàn toàn, bất kỳ triển khai React Server Component nào tiếp xúc với internet đều phải được coi là có nguy cơ cao bị xâm phạm và có thể dẫn đến remote code execution.