CVE-2025-55182: Nguy hiểm RCE trên Next.js và công cụ mới

Một công cụ đánh giá bảo mật mới đã được phát hành nhằm hỗ trợ các nhà nghiên cứu và quản trị viên xác định các endpoint React Server Components (RSC) có khả năng bị phơi nhiễm với lỗ hổng CVE-2025-55182. Công cụ này giải quyết thách thức trong việc phát hiện chính xác lỗ hổng này trong môi trường sản xuất.
Tổng quan về CVE-2025-55182 và Thách thức Phát hiện Remote Code Execution
CVE-2025-55182 là một lỗ hổng nghiêm trọng trong framework Next.js, ảnh hưởng trực tiếp đến cách các Server Actions xử lý dữ liệu được serialize. Lỗ hổng này có thể dẫn đến khả năng remote code execution (RCE), cho phép kẻ tấn công thực thi mã tùy ý trên máy chủ bị ảnh hưởng. Tuy nhiên, việc xác minh sự hiện diện của lỗ hổng này đã chứng tỏ là một thách thức đáng kể đối với các đội ngũ bảo mật.
Nhiều Proof-of-Concept (PoC) hiện có cố gắng tiêm các payload cứng nhắc, ví dụ như vm#runInThisContext, hoặc dựa vào các ID module mặc định như {"id":"vm"}. Trong môi trường phát triển, những payload này thường kích hoạt thành công, mang lại kết quả dương tính rõ ràng.
Tuy nhiên, trong các bản dựng sản xuất sử dụng Webpack hoặc Turbopack, các ID module thường được rút gọn thành số nguyên (ví dụ: 742) hoặc các chuỗi ngắn. Hậu quả là, các nỗ lực RCE tiêu chuẩn thường thất bại đối với các máy chủ dễ bị tổn thương. Điều này xảy ra vì payload khai thác tham chiếu đến các tên module không còn tồn tại trong mã đã biên dịch.
Tình trạng này tạo ra một cảm giác an toàn giả mạo nguy hiểm. Các tổ chức có thể tin rằng hệ thống của họ không bị ảnh hưởng bởi CVE-2025-55182, trong khi trên thực tế, chúng vẫn dễ bị tấn công nếu kẻ tấn công có thể xác định được các ID module chính xác.
Công cụ Quét CVE-2025-55182: Phương pháp Phát hiện Bề mặt Phi Xâm nhập
Để giải quyết khoảng cách trong việc phát hiện lỗ hổng này, một công cụ quét mới đã được phát hành. Được phát triển dưới dạng một script Python gọn nhẹ bởi một pentester với biệt danh Fatguru, công cụ này là một giải pháp phi xâm nhập được thiết kế để phát hiện bề mặt tấn công thay vì cố gắng kích hoạt một gadget khai thác cụ thể.
Công cụ có sẵn trên GitHub: CVE-2025-55182-scanner.
Cơ chế Phát hiện của Công cụ
Thay vì gửi một payload độc hại, công cụ này kiểm tra xem máy chủ mục tiêu có phơi nhiễm giao thức RSC hay không. Điều này được chỉ ra thông qua sự hiện diện của header Content-Type: text/x-component trong phản hồi của máy chủ. Đồng thời, công cụ cũng xác định xem máy chủ có chấp nhận các header hành động Next.js cụ thể hay không.
Nếu máy chủ cố gắng xử lý các payload RSC này, công cụ sẽ gắn cờ endpoint là bị phơi nhiễm. Phương pháp này xác nhận rằng đường dẫn lỗ hổng đã được mở mà không cần phải đoán ID module đã được rút gọn chính xác hoặc làm gián đoạn hoạt động của máy chủ. Điều này giảm thiểu rủi ro bảo mật do các phương pháp PoC truyền thống gây ra.
Đối với các chuyên gia bảo mật, một kết quả dương tính từ công cụ quét này chỉ ra rằng endpoint có thể được truy cập và đang xử lý dữ liệu đầu vào có khả năng nguy hiểm. Nó xác nhận sự tồn tại của bề mặt tấn công cho CVE-2025-55182, nhưng không thực hiện khai thác RCE hoàn chỉnh.
Hướng dẫn Sử dụng và Xác thực Sau Phát hiện
Công cụ quét được thiết kế để dễ sử dụng và tích hợp vào các quy trình làm việc hiện có. Nó hỗ trợ quét một mục tiêu duy nhất thông qua các đối số dòng lệnh, cũng như quét hàng loạt thông qua đầu vào danh sách. Kết quả có thể được xuất ra một tệp CSV để báo cáo.
Các yêu cầu để chạy công cụ là tối thiểu, chỉ cần Python 3 và các thư viện tiêu chuẩn. Điều này giúp các tổ chức nhanh chóng triển khai và kiểm tra hệ thống của mình.
Ví dụ về Lệnh Sử dụng (Mô phỏng)
Mặc dù công cụ không cung cấp đoạn mã khai thác, cách sử dụng điển hình sẽ giống như sau (tham khảo tài liệu công cụ để có lệnh chính xác):
python3 cve-2025-55182-scanner.py --target https://vulnerable-nextjs-app.com
# Hoặc quét hàng loạt từ một tệp danh sách
python3 cve-2025-55182-scanner.py --list targets.txt --output results.csv
Xác thực Thủ công Sau Phát hiện
Tài liệu của công cụ lưu ý rằng nếu máy quét gắn cờ một mục tiêu là dễ bị tổn thương, cần có sự xác thực thủ công bổ sung để chứng minh khả năng remote code execution thực sự. Bước này thường bao gồm các kỹ thuật phức tạp hơn:
- Liệt kê hoặc fuzzing ID Module Webpack: Các ID này thường là các số nguyên nằm trong khoảng từ 1 đến 5000 trong môi trường sản xuất. Kẻ tấn công sẽ cần tìm ra ID module chính xác tương ứng với một gadget có thể khai thác.
- Phân tích tài sản phía máy khách: Kiểm tra các tệp như
webpack-runtime.jscó thể giúp ánh xạ các ID hợp lệ đến các gadget tiềm năng. Thông tin này rất quan trọng để xây dựng một payload khai thác RCE hoạt động trong môi trường sản xuất.
Việc phát hành công cụ này cung cấp một khả năng quan trọng cho các tổ chức đang chạy ứng dụng Next.js. Nó cho phép họ kiểm tra hiệu quả mức độ phơi nhiễm với CVE-2025-55182 trước khi những kẻ tấn công có thể reverse-engineer các bản dựng sản xuất để tạo ra các khai thác hoạt động. Việc chủ động đánh giá lỗ hổng này là cần thiết để bảo vệ hệ thống khỏi các cuộc tấn công tiềm tàng.
Để biết thêm chi tiết về CVE-2025-55182, bạn có thể tham khảo Cơ sở dữ liệu Lỗ hổng Quốc gia (NVD) (lưu ý rằng đây là một ID CVE giả định cho mục đích minh họa và có thể chưa được công bố chính thức).








