Lỗ hổng CVE-2025-48068 trong Next.js Development Server: Chi tiết kỹ thuật và Biện pháp khắc phục
Một lỗ hổng nghiêm trọng, được gán mã CVE-2025-48068, đã được phát hiện trong Next.js Development Server, ảnh hưởng đến các phiên bản từ 13.0.0 đến 15.2.1 khi tính năng App Router được kích hoạt. Bài viết này sẽ cung cấp cái nhìn chi tiết về lỗ hổng, cách khai thác, tác động và các giải pháp bảo mật dành cho các lập trình viên và chuyên viên hệ thống.
Tổng quan về lỗ hổng
- CVE-2025-48068: Lỗ hổng này tồn tại trong Next.js Development Server trên các phiên bản 13.0.0 đến 15.2.1 khi sử dụng App Router.
- Tác động: Lỗ hổng cho phép kẻ tấn công thực hiện tấn công Cross-site WebSocket Hijacking (CSWSH), có khả năng làm lộ mã nguồn nhạy cảm của ứng dụng. Nguyên nhân gốc rễ là do Next.js Development Server không thực hiện kiểm tra nguồn gốc (origin verification) cho các kết nối WebSocket.
Chi tiết kỹ thuật
- Vector tấn công: Khi Next.js Development Server được chạy (thông thường bằng lệnh
npm run devhoặcnext dev), một website độc hại có thể thiết lập kết nối WebSocket tớilocalhostvà truy cập mã nguồn của các thành phần nếu dự án sử dụng tính năng App Router. - Ví dụ khai thác: Dưới đây là một đoạn mã minh họa cách kẻ tấn công có thể khai thác lỗ hổng do thiếu kiểm tra nguồn gốc của kết nối WebSocket:
const ws = new WebSocket('ws://localhost:3000/_next/webpack-hmr');Chiến lược giảm thiểu rủi ro
Để bảo vệ ứng dụng và môi trường phát triển khỏi lỗ hổng này, các biện pháp sau được khuyến nghị:
- Tránh truy cập website không tin cậy: Không truy cập các website không đáng tin khi đang chạy server phát triển cục bộ để giảm nguy cơ bị tấn công.
- Thiết lập quy tắc Firewall/Proxy: Cấu hình tường lửa cục bộ hoặc proxy để chặn các truy cập WebSocket trái phép tới
localhost. - Sử dụng cấu hình allowedDevOrigins: Áp dụng tùy chọn
allowedDevOriginsđể nâng cấp và vá lỗ hổng, đồng thời cho phép một số nguồn gốc kết nối nếu cần để đảm bảo tương thích ngược.
Giải pháp khắc phục
- Phiên bản đã được vá: Lỗ hổng đã được khắc phục trong phiên bản 15.2.2. Phiên bản này bổ sung kiểm tra nguồn gốc (origin checks) để ngăn chặn các kết nối WebSocket trái phép trong quá trình phát triển.
Thông tin bổ sung
- Phạm vi ảnh hưởng: Lỗ hổng này chỉ ảnh hưởng đến môi trường phát triển cục bộ và không tác động đến các ứng dụng đã triển khai trên môi trường production, chẳng hạn như Vercel.
Việc nắm rõ các chi tiết kỹ thuật và áp dụng các biện pháp khắc phục là rất quan trọng đối với các lập trình viên sử dụng Next.js framework nhằm bảo vệ ứng dụng và dữ liệu nhạy cảm trong quá trình phát triển.










