Starlette는 경량 ASGI 프레임워크/툴킷입니다. 버전 1.0.1 이전에는 `request.url`을 재구성하는 데 사용되기 전에 HTTP `Host` 요청 헤더가 검증되지 않았습니다. 라우팅 알고리즘은 원시 HTTP 경로에 의존하고 `request.url`은 `Host` 헤더에서 다시 작성되므로 잘못된 헤더로 인해 `request.url.path`가 실제로 요청된 경로와 다를 수 있습니다. 원시 `scope` 경로가 아닌 `request.url`을 기반으로 보안 제한을 적용하는 미들웨어 및 엔드포인트
Starlette는 경량 ASGI 프레임워크/툴킷입니다. 버전 1.0.1 이전에는 request.url을 재구성하는 데 사용되기 전에 HTTP Host 요청 헤더가 검증되지 않았습니다. 라우팅 알고리즘은 원시 HTTP 경로에 의존하고 request.url은 Host 헤더에서 다시 작성되므로 잘못된 헤더로 인해 request.url.path가 실제로 요청된 경로와 다를 수 있습니다. 따라서 원시 '범위' 경로가 아닌 'request.url'을 기반으로 보안 제한을 적용하는 미들웨어 및 엔드포인트를 우회할 수 있습니다. 사용자는 request.url을 구성할 때 RFC 9112 §3.2 / RFC 3986 §3.2.2의 문법에 대해 Host 헤더의 유효성을 검사하고 잘못된 값에 대해서는 scope["server"]로 폴백하는 버전 1.0.1 이상의 버전으로 업그레이드해야 합니다.
왜 이 VPI인가 (설명가능 · 실험적)
VPI 산정 기준
| 영향도 | 65.00 |
| 악용 신호(PoC 존재) | ×1.20 |
| VPI | 78.00 |
VPI 공식 vpi-v1 기준
| 소스 | CVSS 버전 | 기본 점수 | 심각도 | 벡터 문자열 | 평가일 |
|---|---|---|---|---|---|
| OSV3rd | 3.1 | 6.5 | MEDIUM | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N | 2026. 06. 04. |
| NVDNIST | 3.1 | 6.5 |
| CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N |
| 2026. 05. 27. |