DevOps⏱ 2 phút đọc

Next.js tung bản vá khẩn cấp Out-of-Band cho hai lỗ hổng RCE nghiêm trọng trong Caching và xử lý SVG

Vercel đã phát hành bản cập nhật ngoài kế hoạch (out-of-band) cho framework Next.js nhằm khắc phục hai lỗ hổng thực thi mã từ xa cực kỳ nguy hiểm liên quan đến module tối ưu hóa ảnh SVG và cơ chế caching server-side.

Ảnh minh họa: Next.js tung bản vá khẩn cấp Out-of-Band cho hai lỗ hổng RCE nghiêm trọng trong Caching và xử lý SVG
📷The Hacker News · Lưu trữ local từ nguồn tin công khai chính thức

Chuyện gì vừa xảy ra

Nhóm phát triển Next.js tại Vercel vừa phát đi cảnh báo an ninh khẩn cấp và tung bản vá out-of-band cho các phiên bản Next.js hiện hành. Bản vá giải quyết hai lỗ hổng bảo mật nghiêm trọng có thể cho phép kẻ tấn công thực thi mã tùy ý (RCE) trên máy chủ Node.js đang chạy ứng dụng.

Lỗ hổng thứ nhất phát sinh từ trình phân tích cú pháp tệp vector SVG trong tính năng Image Optimization (next/image), cho phép chèn mã độc thông qua payload XML lồng nhau. Lỗ hổng thứ hai nằm ở tầng serialize/deserialize của hệ thống Data Caching (Incremental Static Regeneration - ISR), cho phép làm sai lệch bộ nhớ đệm và chiếm quyền điều khiển luồng thực thi khi ứng dụng xử lý dữ liệu động.

Ai cần chú ý và phạm vi ảnh hưởng

  • Các đội ngũ DevOps và Fullstack Developer đang tự host ứng dụng Next.js trên máy chủ riêng (VPS, Bare Metal, Docker container, Kubernetes).
  • Hạ tầng Self-hosted: Ứng dụng triển khai qua output: 'standalone' chịu rủi ro cao nhất vì chạy tiến trình Node.js trực tiếp trên server của doanh nghiệp.
  • Nền tảng Vercel Cloud: Vercel cho biết họ đã áp dụng các biện pháp giảm thiểu ở cấp độ edge network cho khách hàng dùng dịch vụ đám mây của hãng, nhưng khuyến cáo mọi dự án vẫn phải nâng cấp package phụ thuộc.

Tác động vận hành

  • Máy chủ ứng dụng bị xâm nhập hoàn toàn: Kẻ tấn công có thể lấy cắp toàn bộ biến môi trường (Environment Variables) chứa database URL, API key, Secret tokens của ứng dụng web.
  • Tấn công chuỗi cung ứng nội bộ: Từ máy chủ web chạy Next.js bị kiểm soát, kẻ tấn công có thể quét mạng nội bộ (Lateral Movement) để thâm nhập sâu hơn vào database và Redis cluster.

Điểm sysadmin và devops cần làm ngay

  1. Rà soát phiên bản Next.js trong package.json: Kiểm tra toàn bộ các repository và container image đang chạy trong môi trường production.
  2. Cập nhật dependencies: Cập nhật ngay Next.js lên phiên bản vá lỗi mới nhất bằng lệnh npm install next@latest hoặc phiên bản patch tương ứng của nhánh phiên bản đang dùng.
  3. Build lại và redeploy: Khởi chạy lại pipeline CI/CD để build lại Docker image và rolling update trên cụm Kubernetes/Docker Swarm.
  4. Tạm thời vô hiệu hóa SVG Optimization nếu chưa thể vá: Nếu chưa kịp deploy bản vá, quản trị viên có thể tạm tắt tính năng tối ưu hóa SVG trong next.config.js (dangerouslyAllowSVG: false).

Kết luận

Next.js hiện là framework frontend/fullstack phổ biến bậc nhất trên thế giới. Đây là bản vá cực kỳ quan trọng đòi hỏi các đội ngũ kỹ thuật phải cập nhật ngay trong ngày để bảo vệ hạ tầng web.