Next.js는 최근 보안 업데이트를 발표했습니다. 이 업데이트는 2026년 10월 14일에 발표되었으며, 이전에 발표된 9월 보안 릴리스에서 연기된 두 가지 취약점을 수정합니다. 이 업데이트는 Next.js의 v16.4.1(Active LTS) 및 v15.5.28(Maintenance LTS) 버전에서 제공되며, 사용자는 즉시 의존성을 패치하여 애플리케이션의 보안을 유지해야 합니다.
이번 업데이트는 특히 두 가지 주요 취약점을 해결합니다. 첫 번째는 App Router와 Cache Components를 사용하는 애플리케이션에서 발생할 수 있는 인증되지 않은 원격 코드 실행 취약점이며, 두 번째는 SVG를 사용할 때 Image Optimization API에서 발생할 수 있는 메모리 관련 취약점입니다. 이러한 취약점은 보안에 심각한 영향을 미칠 수 있으므로, 모든 사용자는 즉시 업데이트를 권장받고 있습니다.
인증되지 않은 원격 코드 실행: App Router와 Cache Components를 사용하는 애플리케이션에서 use cache 함수가 여러 개의 타입 배열을 반환할 경우, 인증되지 않은 원격 코드 실행이 가능해집니다. 이 취약점은 현재로서는 해결 방법이 없으며, 해당 기능을 사용하지 않더라도 즉시 업데이트가 필요합니다.
Image Optimization API의 취약점: SVG를 사용할 때 발생하는 메모리 관련 취약점이 있으며, 이는 glibc 기반의 리눅스에서 Next.js가 실행될 때 원격 코드 실행으로 이어질 수 있습니다. 이 문제를 해결하기 위해서는 Next.js에서 사용하는 sharp 라이브러리의 버전을 0.35.5 이상으로 유지해야 하며, 업데이트된 Next.js 버전으로 업그레이드하면 패키지 관리자가 자동으로 수정된 버전을 제공합니다.
서비스 거부 공격: App Router를 사용하고 최소한 하나의 Server Action을 포함하는 Next.js 애플리케이션에 대해 조작된 요청이 들어올 경우, CPU 사용량이 과도하게 증가하여 서비스 거부(DoS) 상태가 발생할 수 있습니다. Pages Router를 사용하거나 Server Actions를 사용하지 않는 애플리케이션은 이 취약점에 영향을 받지 않습니다.
Next.js의 보안을 강화하기 위해 Vercel은 오픈 소스 버그 바운티 프로그램을 운영하고 있으며, 이 프로그램에 참여하여 보안 기여를 할 수 있는 기회를 제공합니다. 보안 프로그램이나 취약점 관리에 대한 질문은 Vercel의 보안 이메일로 문의할 수 있습니다.
이번 보안 업데이트는 Next.js 사용자에게 필수적이며, 모든 사용자는 즉시 해당 버전으로 업데이트하여 애플리케이션의 보안을 강화해야 합니다.