HTTP Host 헤더에 단 하나의 변조된 문자를 주입하는 것만으로, 인증되지 않은 공격자가 Starlette 기반 시스템의 모든 경로 기반 인증을 우회할 수 있습니다. 공식 CVSS v3.1 점수는 'Medium'인 6.5점이지만, X41 D Sec 및 Secwest 연구원들은 이것이 위험성을 심각하게 과소평가한 수치라고 강력히 반발합니다.

Create a landscape editorial hero image for this Studio Global article: What is the CVE-2026-48710 "BadHost" vulnerability in the Starlette web framework, how does it allow attackers to bypass path-based authoriz. Article summary: ## Overview. Topic tags: general, general web, user generated. Reference image context from search candidates: Reference image 1: visual subject "A critical vulnerability tracked as **CVE-2026-48710** and nicknamed "BadHost" was disclosed in the **Starlette** ASGI framework, affecting all versions prior to **1.0.1**, sources" source context "Starlette Vulnerability Exposes AI Agent Endpoints | Let's Data Science" Reference image 2: visual subject "# Critical 'BadHost' Flaw in Starlette Exposes Millions of AI Agent Deployments to Auth Bypass. * CVE-2026-48710 ('BadHost') allows unauthenticated attackers to bypass path-based a" source context "Critical 'BadHost'
주간 다운로드 수가 무려 3억 2,500만 건에 달하는 파이썬 비동기 웹 프레임워크의 핵심, Starlette에서 '한 글자'의 무서운 위력이 입증되었습니다. CVE-2026-48710, 일명 'BadHost' 로 명명된 이 취약점은 FastAPI, vLLM, LiteLLM, MCP(Model Context Protocol) 서버 등 현대 AI 인프라의 근간을 이루는 수많은 도구들에 영향을 미칩니다 .
OSTIF의 지원을 받아 X41 D-Sec이 vLLM 보안 감사 중 발견한 이 결함은, 너무나 단순해서 오히려 충격적입니다. Starlette은 공격자가 통제할 수 있는 Host 헤더를 아무런 검증 없이 request.url 객체를 재구성하는 데 사용합니다. 즉, 프레임워크의 라우팅 엔진은 순수한 HTTP 경로를 기준으로 요청을 처리하지만, 인증 미들웨어는 이렇게 조작된 URL을 읽도록 설계된 것입니다. 이 간극이 바로 보안의 빗장을 푸는 열쇠입니다 .
Starlette의 URL 재구성 논리는 라우팅 경로와 인증 경로 사이에 치명적인 불일치를 만들어냅니다. HTTP 요청이 도착하면 라우터는 요청 라인에서 올바른 엔드포인트를 식별합니다. 하지만 애플리케이션이 사용자 인증을 위해 request.url을 검사할 때, Starlette은 Host 헤더와 요청 경로를 결합하고 다시 분석하여 URL을 재구성합니다 .
공격자는 이 순간을 정확히 노려, 보호된 엔드포인트(예: /admin/secure)로 요청을 보내면서 Host 헤더를 다음과 같이 조작합니다:
Host: legitimate.com/health?x=
라우터는 요청을 정상적으로 /admin/secure 핸들러로 전달합니다. 하지만 인증 미들웨어가 request.url.path를 확인하는 순간, 그 값은 /health가 되어 있습니다. 만약 미들웨어가 /health를 인증 없이 접근 가능한 공개 경로로 허용하고 있다면, 공격자는 그대로 통과하는 것입니다. 비밀번호도, 토큰도, 사용자 상호작용도 전혀 필요 없이 인증이 우회됩니다 .
X41 D-Sec의 공식 권고문은 이 놀라운 단순함을 이렇게 표현합니다. "HTTP Host 헤더에 문자 하나를 삽입하는 것만으로도 서버를 속일 수 있다" . 문제를 일으키는 문자는 슬래시(
/), 물음표(?), 해시(#) 등 URL에서 특별한 의미를 갖는 표준 구분자들입니다 .
이 취약점의 파괴력은 상상을 초월합니다. Starlette은 FastAPI를 비롯한 거의 모든 주요 파이썬 기반 AI 서빙 및 오케스트레이션 도구의 숨겨진 엔진입니다. Starlette 1.0.1 미만의 모든 버전을 사용하는 모든 하위 프로젝트가 영향권에 있습니다:
공식적으로 확인된 영향 대상 버전은 Starlette 0.8.3 이상, 1.0.1 미만입니다. 이는 수년간 안정적으로 운영되던 시스템 거의 대부분이 잠재적으로 취약하다는 것을 의미합니다 .
CVE-2026-48710의 공식 심각도 점수를 두고 보안 커뮤니티 내에서 큰 논쟁이 벌어졌습니다.
연구자들이 공식 점수 6.5가 위험할 정도로 낮다고 주장하는 세 가지 근거는 다음과 같습니다.
SC:H/SI:H 지표가 정확히 포착하는 시나리오입니다 2026년 5월 22일에 출시된 Starlette 버전 1.0.1에 결정적인 패치가 포함되어 있습니다. 이 수정 사항은 GitHub 보안 권고 GHSA-86qp-5c8j-p5mr 및 X41 권고 X41-2026-002에서 추적됩니다 .
패치의 핵심 보호 장치는 두 가지입니다:
Host 헤더는 request.url을 구성하는 데 사용되기 전에 RFC 9112 §3.2 및 RFC 3986 §3.2.2에 명시된 문법에 따라 엄격하게 검증됩니다 scope["server"]로 대체합니다. 그 결과 request.url.path는 실제 라우팅된 경로를 일관되게 반영하게 됩니다 FastAPI 프로젝트 또한 이 수정 사항의 효력을 확인했으며, starlette을 1.0.1 이상으로 즉시 업그레이드할 것을 권장했습니다 .
Starlette 패키지를 업그레이드하는 것이 핵심이지만, 포괄적인 방어를 위해서는 여러 계층의 대응이 필요합니다.
즉시 패치 적용. AI 인프라를 실행하는 모든 가상 환경, 컨테이너 이미지, 배포 파이프라인에서 다음 명령을 실행합니다.
pip install --upgrade starlette
영향을 받는 모든 서비스를 재시작하십시오. 이는 Starlette을 직접 설치한 경우뿐만 아니라 FastAPI, vLLM, LiteLLM, MCP 서버 인스턴스 모두에 적용됩니다 .
종속성 감사 및 버전 고정. FastAPI 등 다른 프레임워크가 Starlette의 최소 버전을 자동으로 강제하지 않을 수 있습니다. requirements.txt, pyproject.toml, poetry.lock 또는 동등한 잠금 파일에서 starlette>=1.0.1을 명시적으로 요구하십시오. 모든 환경에서 pip list | grep starlette.
AI 스택의 모든 구성 요소 검사. HTTP를 제공하는 모든 파이썬 서비스(커스텀 FastAPI 앱, LLM 추론 엔드포인트, 에이전트 오케스트레이션 플레인, 모델 평가 패널, OpenAI 호환 프록시 등)는 취약한 Starlette 버전을 내장하고 있을 수 있습니다. 전면적인 인프라 감사를 실시하십시오 .
리버스 프록시 및 WAF 강화. Nginx, Envoy, HAProxy, Cloudflare 또는 AWS ALB 등의 리버스 프록시가 파이썬 애플리케이션으로 트래픽을 전달하기 전에 잘못된 형식의 Host 헤더를 거부하거나 무력화하도록 구성하십시오. 이는 애플리케이션 레벨 패치가 지연되더라도 착취를 원천 차단하는 심층 방어 전략을 제공합니다 .
경로 안전성 확인 로직을 request.url.path에서 떼어내기. 사태의 근본 원인은 라우팅 경로와 request.url.path 사이의 불일치였습니다. 가능한 모든 곳에서 인증 미들웨어가 request.scope["path"]를 사용하도록 전환하십시오. 이 값은 순수한 ASGI 스코프에서 파생되므로 Host 헤더로 인해 오염될 수 없습니다 . X41 D-Sec은 경로 기반 인증 자체를 완전히 피하고, 엔드포인트 자체에 내장된 인증 메커니즘을 사용할 것을 권장합니다
.
노출 여부 테스트. 조직이 자사의 서버가 취약한지 확인할 수 있도록 온라인 스캐너가 공개되었습니다 . 인증 경계에 대한 철저한 침투 테스트와 함께 실시하면, 간과된 공격 표면을 밝혀낼 수 있을 것입니다.
데비안 기반 배포 환경의 경우, CVE-2026-48710은 데비안 보안 트래커에서 중요도 "important"로 추적되고 있으며, 영향을 받는 제품군을 위한 패치된 starlette 버전이 제공되고 있습니다 . bullseye-security 또는 동등한 저장소에서 수정
apt 트랜잭션을 적용하고, 영향을 받는 systemd 유닛 파일을 다시 로드하십시오 .
Studio Global AI
Use this topic as a starting point for a fresh source-backed answer, then compare citations before you share it.
HTTP Host 헤더에 단 하나의 변조된 문자를 주입하는 것만으로, 인증되지 않은 공격자가 Starlette 기반 시스템의 모든 경로 기반 인증을 우회할 수 있습니다.
HTTP Host 헤더에 단 하나의 변조된 문자를 주입하는 것만으로, 인증되지 않은 공격자가 Starlette 기반 시스템의 모든 경로 기반 인증을 우회할 수 있습니다. 공식 CVSS v3.1 점수는 'Medium'인 6.5점이지만, X41 D Sec 및 Secwest 연구원들은 이것이 위험성을 심각하게 과소평가한 수치라고 강력히 반발합니다.
해결책은 2026년 5월 22일에 출시된 Starlette 1.0.1로 즉시 업그레이드하는 것입니다. 이 버전은 RFC 표준에 따라 Host 헤더를 검증하고, 비정상적인 헤더를 안전하게 처리합니다.