CVE-2023-30861
Flask, 누락된 Vary: Cookie 헤더로 인한 영구 세션 쿠키 노출 가능 취약점
- 게시됨
- 2023. 5. 2.
- 업데이트됨
- 2025. 2. 13.
- CNA 할당 중
- GitHub_M
- 증거 관찰됨
- 2026. 8. 8.
기본 CVSS
nvd · CVSS 3.1
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N낮음 · 다음 30일
- 백분위수
- 67.8%
- 모델 날짜
- 2026. 9. 21.
EPSS는 통계적 추정치이지 확실성이나 영향의 척도가 아닙니다. 이를 CVSS, KEV 상태, 노출 및 환경과 결합하세요.
요약
Flask는 가벼운 WSGI 웹 애플리케이션 프레임워크입니다. 다음 조건이 모두 충족되면, 특정 클라이언트를 위해 의도된 데이터가 포함된 응답이 캐시되고 이후 프록시에 의해 다른 클라이언트에게 전송될 수 있습니다. 프록시가 `Set-Cookie` 헤더도 캐시하는 경우, 한 클라이언트의 `session` 쿠키를 다른 클라이언트에게 보낼 수 있습니다. 심각도는 애플리케이션의 세션 사용 방식과 쿠키에 대한 프록시의 동작에 따라 달라집니다. 위험은 이러한 모든 조건이 충족되는지에 따라 달라집니다. 1. 애플리케이션은 쿠키를 제거하거나 쿠키가 있는 응답을 무시하지 않는 캐싱 프록시 뒤에서 호스팅되어야 합니다. 2. 애플리케이션이 `session.permanent = True`를 설정합니다. 3. 애플리케이션은 요청 중 어느 시점에서도 세션에 접근하거나 수정하지 않습니다. 4. `SESSION_REFRESH_EACH_REQUEST`가 활성화되어 있습니다(기본값). 5. 애플리케이션은 페이지가 비공개이거나 캐시되지 않아야 함을 나타내는 `Cache-Control` 헤더를 설정하지 않습니다. 이는 취약한 버전의 Flask가 세션에 접근하거나 수정할 때만 `Vary: Cookie` 헤더를 설정하고, 접근하거나 수정하지 않은 채 새로 고쳐질 때(만료를 업데이트하기 위해 다시 전송)에는 설정하지 않기 때문입니다. 이 문제는 2.3.2 및 2.2.5 버전에서 수정되었습니다.
소스
1Flask와 리버스 프록시 캐시 서버 간의 세션 처리 취약점을 시연하는 CVE-2023-30861용 Docker 기반 PoC로, 보안 연구 및 테스트를 위한 것입니다.
책임 있는 사용
귀하가 소유하고 있거나 테스트할 권한이 있는 시스템에 대해서만 취약점 정보를 사용하십시오. Kitploit은 공개 연구 메타데이터에 연결되며 익스플로잇 코드나 악성 페이로드를 저장하지 않습니다.