CVE-2023-29008 in SvelteKit
요약
\~에 의해 VulDB • 2026. 05. 24.
SvelteKit 프레임워크는 개발자가 간단한 REST API를 생성할 수 있는 옵션을 제공합니다. 이는 서로 다른 HTTP 메서드에 대한 엔드포인트 핸들러를 포함하는 `+server.js` 파일을 정의함으로써 수행됩니다. SvelteKit은 사용자에게 사전 구성된 크로스 사이트 요청 위조(CSRF) 보호 기능을 제공합니다. 이 보호 기능은 `kit/src/runtime/server/respond.js`에서 구현됩니다. 해당 구현은 일반적인 CSRF 공격을 완화하는 데 충분한 역할을 하지만, 1.15.2 이전 버전에서는 단순히 대문자로 된 `Content-Type` 헤더 값을 지정함으로써 보호 장치를 우회할 수 있습니다. 브라우저는 대문자 문자를 전송하지 않지만, 이 확인 로직은 예상되는 모든 CORS 요청을 차단하지 않습니다. 이 문제를 악용하면 제3자 도메인에서 악성 요청이 제출될 수 있으며, 이는 피해자의 세션 컨텍스트 내에서 작업 실행을 허용하고, 극단적인 시나리오에서는 사용자의 계정에 대한 무단 접근으로 이어질 수 있습니다. 이는 다음 경우에 인증이 필요한 모든 POST 작업이 허용될 수 있음을 의미합니다: 대상 사이트가 인증 쿠키에 `SameSite=None`을 설정하고 사용자가 Chromium 기반 브라우저를 통해 악성 사이트를 방문하는 경우; 대상 사이트가 `SameSite` 속성을 명시적으로 설정하지 않고 사용자가 추적 보호 기능이 꺼진 Firefox/Safari를 통해 악성 사이트를 방문하는 경우; 그리고/또는 사용자가 매우 오래된 브라우저를 통해 악성 사이트를 방문하는 경우입니다. SvelteKit 1.15.2에는 이 문제에 대한 패치가 포함되어 있습니다. 또한 업그레이드를 시기적절하게 수행할 수 없는 경우 특히 인증 쿠키에 `SameSite`를 `None`이 아닌 값으로 명시적으로 설정하는 것이 권장됩니다.
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.