Nhóm React đã phát hành các bản vá cho hai loại lỗ hổng mới trong React Server Components (RSC) mà nếu bị khai thác thành công, có thể dẫn đến denial-of-service (DoS) hoặc tiết lộ mã nguồn.
Nhóm cho biết các vấn đề này được cộng đồng bảo mật phát hiện khi cố gắng khai thác các bản vá được phát hành cho CVE-2025-55182 (điểm CVSS: 10.0), một lỗi nghiêm trọng trong RSC mà sau đó đã bị weaponized trong thực tế.
Ba lỗ hổng được liệt kê dưới đây:
- CVE-2025-55184 (điểm CVSS: 7.5) - Một lỗ hổng denial-of-service trước xác thực phát sinh từ việc deserialization không an toàn các payload từ các yêu cầu HTTP đến các endpoint của Server Function, gây ra một vòng lặp vô hạn làm treo tiến trình máy chủ và có thể ngăn các yêu cầu HTTP trong tương lai được phục vụ.
- CVE-2025-67779 (điểm CVSS: 7.5) - Một bản vá không hoàn chỉnh cho CVE-2025-55184 có tác động tương tự.
- CVE-2025-55183 (điểm CVSS: 5.3) - Một lỗ hổng information leak có thể khiến một yêu cầu HTTP được tạo đặc biệt gửi đến một Server Function dễ bị tổn thương trả về mã nguồn của bất kỳ Server Function nào.
Tuy nhiên, việc khai thác thành công CVE-2025-55183 yêu cầu sự tồn tại của một Server Function mà rõ ràng hoặc ngầm định để lộ một đối số đã được chuyển đổi thành định dạng chuỗi.
Các phiên bản bị ảnh hưởng
Các lỗ hổng ảnh hưởng đến các phiên bản sau của react-server-dom-parcel, react-server-dom-turbopack và react-server-dom-webpack:
- CVE-2025-55184 và CVE-2025-55183 - 19.0.0, 19.0.1 19.1.0, 19.1.1, 19.1.2, 19.2.0 và 19.2.1
- CVE-2025-67779 - 19.0.2, 19.1.3 và 19.2.2
Các nhà nghiên cứu bảo mật RyotaK và Shinsaku Nomura đã được ghi nhận vì đã báo cáo hai lỗi DoS cho chương trình Meta Bug Bounty, trong khi Andrew MacPherson được công nhận vì đã báo cáo lỗ hổng information leak.
Người dùng nên cập nhật lên các phiên bản 19.0.3, 19.1.4 và 19.2.3 càng sớm càng tốt, đặc biệt là trong bối cảnh CVE-2025-55182 đang bị khai thác tích cực.
“Khi một lỗ hổng nghiêm trọng được tiết lộ, các nhà nghiên cứu sẽ xem xét kỹ các đường dẫn mã liền kề để tìm kiếm các kỹ thuật exploit biến thể nhằm kiểm tra xem liệu biện pháp giảm thiểu ban đầu có thể bị bỏ qua hay không,” nhóm React cho biết. “Mẫu hình này xuất hiện trong toàn ngành, không chỉ trong JavaScript. Các tiết lộ bổ sung có thể gây khó chịu, nhưng chúng thường là dấu hiệu của một chu trình phản hồi lành mạnh.”