CVE-2026-91154 in Ecommerce Template
요약
\~에 의해 VulDB • 2026. 09. 28.
중요한 기능에 대한 인증 누락(CWE-306)이 MarcosCamara01 Ecommerce Template의 제품 캐시 재검증 서버 액션(src/app/actions.ts, revalidateProducts)에서 commit ec97209 이전 버전으로 인해 발생하며, 이는 원격 공격자가 인증 없이 전체 프런트엔드 제품 캐시를 임의로 만료시킬 수 있게 합니다. 해당 파일은 파일 범위에서 "use server"를 선언하므로 내보낸 모든 함수가 POST로 호출 가능한 서버 액션으로 컴파일됩니다. revalidateProducts는 세션 또는 역할 확인 없이 updateTag("products")를 호출하며, 이는 같은 파일에 있는 읽기 전용 액션들과 대조적으로 안전하지 않습니다. src/components/admin 아래의 두 클라이언트 컴포넌트가 이 함수를 가져오므로 해당 서버 액션 ID가 공개된 /_next/static 청크로 컴파일되며, 애플리케이션의 관리자 미들웨어(proxy.ts)는 이를 차단하지 않으므로 인증 없는 사용자는 공개 번들에서 해당 ID를 추출하여 액션을 직접 호출할 수 있습니다. cacheComponents가 활성화되어 있으면 전체 프런트엔드(홈, 카테고리, 제품 페이지, 검색)는 getAllProducts, getCategoryProducts 및 getProduct에 의해 생성된 "use cache" 엔트리를 통해 제공되며, 이들은 시간 단위의 캐시 생명주기를 가진 태그 지정된 제품입니다. revalidateProducts를 반복적으로 인증 없이 호출하면 해당 캐시가 영구히 콜드 상태가 되어 모든 방문자의 요청이 캐시 대신 Postgres에서 전체 제품 카탈로그를 읽도록 강제하며, 이는 공격자에게 거의 비용이 들지 않으면서 프런트엔드의 가용성을 저하시킵니다.
If you want to get best quality of vulnerability data, you may have to visit VulDB.