Hai lỗ hổng nghiêm trọng trên Next.js cho phép thực thi mã từ xa không cần xác thực. Các lỗ hổng này ảnh hưởng đến các ứng dụng Next.js được lưu trữ trên Windows, đặc biệt khi sử dụng API Tối ưu hóa Hình ảnh để xử lý các tệp AVIF. Vấn đề này có thể dẫn đến rủi ro bảo mật cao cho hệ thống.
Lỗ hổng Path Traversal (CVE-2026-75604)
Lỗ hổng đầu tiên, được theo dõi là CVE-2026-75604, tác động đến các ứng dụng Next.js sử dụng Pages Router hoặc App Router mà không có Cache Components. Kẻ tấn công có thể khai thác lỗ hổng này khi ứng dụng bị ảnh hưởng chạy trên máy chủ sử dụng hệ thống tệp của Windows.
GitHub đã phân loại lỗ hổng này là nghiêm trọng và liên kết nó với CWE-22, còn được gọi là path traversal. Điểm yếu này xảy ra khi một ứng dụng sử dụng đầu vào do kẻ tấn công kiểm soát để xây dựng đường dẫn tệp nhưng không hạn chế đầy đủ các phần tử đường dẫn đặc biệt. Điều này cho phép một yêu cầu được chế tạo có thể khiến ứng dụng truy cập các vị trí bên ngoài thư mục dự kiến.
Lỗ hổng này có vector CVSS v3.1 là CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:C/C:H/I:H/A:H. Mặc dù bản tin bảo mật GHSA-p293-qw3h-jr36 đánh giá độ phức tạp của cuộc tấn công là cao, nhưng việc khai thác có thể được thực hiện từ xa mà không cần xác thực hoặc tương tác người dùng.
Một cuộc tấn công thành công có thể dẫn đến rò rỉ dữ liệu nhạy cảm, thay đổi nội dung phía máy chủ hoặc làm gián đoạn tính khả dụng của ứng dụng. Các phiên bản bị ảnh hưởng bao gồm các bản phát hành Next.js từ 13.4 đến 15.5.24 và từ 16.0 đến 16.3.3, nhưng không bao gồm 15.5.24 hoặc 16.3.3.
Vercel đã khắc phục sự cố này trong Next.js 15.5.24 và 16.3.3. Hiện tại, không có biện pháp khắc phục tạm thời nào cho các ứng dụng bị ảnh hưởng được lưu trữ trên Windows, do đó, việc nâng cấp ngay lập tức là biện pháp giảm thiểu được khuyến nghị.
Lỗ hổng thực thi mã từ xa với AVIF (GHSA-2xp9-vwfh-vxw4)
Bản tin bảo mật thứ hai, GHSA-2xp9-vwfh-vxw4, ảnh hưởng đến các triển khai API Tối ưu hóa Hình ảnh của Next.js khi tối ưu hóa các tệp AVIF. Vấn đề bắt nguồn từ thư viện libheif cơ bản được sử dụng bởi gói xử lý hình ảnh Sharp. Next.js dựa vào Sharp để thay đổi kích thước, chuyển đổi và tối ưu hóa hình ảnh được phục vụ bởi các ứng dụng.
Kẻ tấn công có thể gửi một hình ảnh AVIF độc hại đến một điểm cuối tối ưu hóa hình ảnh bị lỗi. Nếu được xử lý bởi thành phần libheif bị ảnh hưởng, tệp đó có thể kích hoạt thực thi mã từ xa trên máy chủ. Đây là một dạng remote code execution rất nguy hiểm.
Bản tin bảo mật này gán vector CVSS v4 là CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:H/VI:H/VA:H/SC:H/SI:H/SA:H, cho thấy tác động tiềm năng cao trên tính bảo mật, tính toàn vẹn và tính khả dụng.
Lỗ hổng liên quan đến AVIF ảnh hưởng đến các phiên bản Next.js từ 10.0.0 đến trước phiên bản 15.5.24, cũng như các bản phát hành trước 16.3.3. Vấn đề đã được giải quyết trong cùng các phiên bản đã vá lỗi: 15.5.24 và 16.3.3.
Cho đến khi bản vá cho các thư viện phụ trợ được triển khai, Next.js đã vô hiệu hóa tính năng tối ưu hóa AVIF như một biện pháp bảo vệ. Tuy nhiên, các tổ chức không nên chỉ dựa vào hành vi này để đảm bảo an toàn thông tin.
Các biện pháp khắc phục và khuyến nghị
Quản trị viên nên cập nhật các ứng dụng Next.js đã triển khai, xây dựng lại các container sản xuất, làm mới các tệp khóa phụ thuộc và xác minh rằng các luồng công việc đang hoạt động đang chạy các phiên bản đã được vá lỗi. Đội ngũ bảo mật cũng nên xem xét các đường dẫn tải lên hình ảnh công khai, việc phơi nhiễm API Tối ưu hóa Hình ảnh của Next.js, các phiên bản sản xuất được lưu trữ trên Windows và nhật ký về các yêu cầu bất thường liên quan đến các mẫu traversal hoặc xử lý AVIF.
Các bản tin bảo mật này được báo cáo bởi các nhà nghiên cứu với các tên người dùng evolutionstorm và B0RI. Việc áp dụng các bản vá bảo mật kịp thời là cần thiết để ngăn chặn các mối đe dọa mạng tiềm ẩn.
Để phòng ngừa các sự cố do điều tra chậm trễ, bạn có thể nâng cao khả năng cho đội ngũ an ninh mạng bằng cách tích hợp thông tin tình báo về mối đe dọa từ 15K SOC. Việc này giúp tăng tốc quá trình phân tích và ứng phó với các sự cố an ninh.
Thông tin chi tiết về các lỗ hổng này có thể được tham khảo tại các nguồn chính thức như bản tin bảo mật của Next.js.










