request.urlHost공격자는 이 순간을 정확히 노려, 보호된 엔드포인트(예: /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에서 추적됩니다 .
패치의 핵심 보호 장치는 두 가지입니다:
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 유닛 파일을 다시 로드하십시오 .
Comments
0 comments