피드로 돌아가기
CVE-2026-48710: CVE-2026-48710: Starlette BadHost HTTP Host-Header Path-Poisoning and Authentication Bypass
Dev.toDev.to
Security

Host Header 파싱 결함으로 인한 권한 우회 CVE-2026-48710 해결

CVE-2026-48710: CVE-2026-48710: Starlette BadHost HTTP Host-Header Path-Poisoning and Authentication Bypass

CVE Reports2026년 6월 4일2intermediate

Context

Starlette ASGI 프레임워크의 Host header 파싱 로직 결함으로 인한 Security Desynchronization 발생. 공격자가 Host header에 특수문자를 주입하여 ASGI 서버의 요청 경로와 애플리케이션 레벨의 파싱 경로를 불일치시키는 구조적 한계 노출.

Technical Solution

  • 정규표현식 _HOST_RE 도입을 통한 Host header의 엄격한 문자열 검증 체계 구축
  • /, ?, #, @ 등 Path-Poisoning 유발 문자를 사전에 차단하는 화이트리스트 방식 적용
  • request.url 생성 시 유효하지 않은 Host header를 무시함으로써 scope['path']와의 일관성 확보
  • Middleware 단계에서 request.url.path 대신 request.scope['path']를 참조하도록 권고하여 경로 해석의 단일 진실원(Single Source of Truth) 확보
  • RFC 표준을 준수하는 Reverse Proxy 배치를 통한 1차 필터링 계층 강화

- Starlette

1.

0.1 이상 버전 업데이트 및 FastAPI 의존성 최신화 - 커스텀 보안 미들웨어 내 경로 참조 대상을 `request.scope['path']`로 변경 검토 - Nginx, Apache 등 RFC 준수 프록시 설정을 통한 비정상 Host header 차단 여부 확인 - ASGI 서버의 외부 직접 노출을 방지하고 Localhost 바인딩 설정 적용

원문 읽기