BadHost의 Starlette 경로 기반 인가 문제와 프록시 조건
당시 소식
연구진은 Starlette가 검증하지 않은 Host 헤더로 URL을 재구성하는 반면 라우팅은 실제 요청 경로를 사용한다고 설명한다. 재구성한 경로를 기준으로 인가하면 실제로 실행되는 엔드포인트와 판단이 어긋날 수 있다.
연구진 권고는 Starlette 영향 버전을 >= 0.8.3 및 < 1.0.1로, 수정 버전을 1.0.1로 제시한다. 실제 영향 여부는 애플리케이션이 경로에 근거해 보안 판단을 하는지와 함께 확인해야 한다.
리뉴얼 시점의 후속 확인
검토 시점의 유지보수자 권고는 프록시나 로드밸런서가 잘못된 Host 헤더를 전달 전에 거부·정규화하고 애플리케이션이 다른 경로에서도 공격자 제어 호스트 헤더를 신뢰하지 않는 조건에서만 완화를 설명한다.
적용 전 검토할 점
인가 미들웨어·실제 의존성·전달 헤더 신뢰 설정을 확인할 것을 제안합니다. 프록시 존재만으로 보호를 단정할 수 없으므로 실제 진입 경로 설정을 검토해야 합니다. 이 초안에서 공격 실험을 수행하지 않았습니다.
편집 검토 제안입니다. 제품을 직접 적용·실험한 결과가 아닙니다.
문장별 원문 인용 근거
연구진은 Starlette가 검증하지 않은 Host 헤더로 URL을 재구성하는 반면 라우팅은 실제 요청 경로를 사용한다고 설명한다. 재구성한 경로를 기준으로 인가하면 실제로 실행되는 엔드포인트와 판단이 어긋날 수 있다.
routing in Starlette is based on the actual request path.
인용 출처 ↗
does not perform any validation of the Host header value.
인용 출처 ↗
연구진 권고는 Starlette 영향 버전을 >= 0.8.3 및 < 1.0.1로, 수정 버전을 1.0.1로 제시한다. 실제 영향 여부는 애플리케이션이 경로에 근거해 보안 판단을 하는지와 함께 확인해야 한다.
Confirmed Affected Versions: starlette >= 0.8.3, < 1.0.1 Confirmed Patched Versions: starlette 1.0.1
인용 출처 ↗
검토 시점의 유지보수자 권고는 프록시나 로드밸런서가 잘못된 Host 헤더를 전달 전에 거부·정규화하고 애플리케이션이 다른 경로에서도 공격자 제어 호스트 헤더를 신뢰하지 않는 조건에서만 완화를 설명한다.
mitigated only if that proxy rejects or normalizes the malformed Host header before forwarding
인용 출처 ↗
해당 기준일의 한국어 다이제스트: 2026-06-02. 인용과 원문 맥락을 편집 검토했으며 독립적인 실험 검증은 아닙니다.
댓글