본문 바로가기
AI 뉴스

Starlette CVE-2026-48710 정리: AI 에이전트 보안 비상 (2026)

by 정부우르사 2026. 5. 27.
반응형

"오늘 아침 GitHub Trending 1위가 'BadHost'라는 페이지인데, 우리 FastAPI 서버도 영향을 받는 걸까요?"



📌 핵심 3줄 요약

  • Starlette의 Host 헤더 검증 결함(CVE-2026-48710)이 공개되며 FastAPI·LangServe·MCP 서버까지 광범위한 영향이 우려된다.
  • 공격자는 위조된 Host 헤더로 신뢰 경로 검사·CORS·인증 미들웨어를 우회해 내부 엔드포인트에 접근할 수 있다.
  • 임시 완화는 TrustedHostMiddleware 강제 적용과 리버스 프록시 단의 Host 화이트리스트로 가능하다.

 

🗓️ 무슨 일이 일어났나

2026년 5월 26일(현지 시각) Ars Technica가 "수백만 AI 에이전트가 위험에 노출됐다"는 보도를 냈고, 같은 시각 Hacker News에는 PoC를 정리한 BadHost 페이지가 1위로 올라왔다.

핵심 결함은 Starlette가 클라이언트 Host 헤더를 충분히 검증하지 않고 라우팅·리디렉션·쿠키 도메인 결정에 반영한다는 점이다. 인증 컨텍스트를 가정한 라우트도 호스트 우회로 인증 검사 자체가 무력화될 수 있다.

💡 핵심 포인트

  • 분류: Host Header Injection 기반 인증·신뢰 경로 우회
  • 심각도: 고위험(High) — 정확한 CVSS는 공식 권고 확인 필요
  • 공격 난이도: 낮음 (HTTP 헤더 한 줄로 재현 가능)

 

📊 영향 받는 스택과 심각도

Starlette는 단독보다 FastAPI·LangServe·MCP 서버의 기반으로 동작한다. Starlette를 직접 import하지 않아도 사실상 같은 위험에 노출된다는 뜻이다.

스택 영향 우선순위
Starlette 단독 직접 영향 즉시 패치
FastAPI 의존성으로 동일 영향 즉시 패치
LangServe / MCP 서버 에이전트 노출 가능 최우선
Django / Flask 직접 영향 없음 참고

 

🔧 임시 완화와 패치 절차

가장 빠른 차단법은 Starlette 내장 TrustedHostMiddleware를 허용 도메인과 함께 명시적으로 적용하는 것이다. 이미 쓰고 있어도 와일드카드 패턴이 너무 느슨하지 않은지 점검이 필요하다.

from starlette.middleware.trustedhost import TrustedHostMiddleware
from fastapi import FastAPI

app = FastAPI()

app.add_middleware(
    TrustedHostMiddleware,
    allowed_hosts=["api.example.com", "*.example.com"],
)

이후 절차는 다음 순서로 진행한다. 에이전트의 외부 도구 호출 경로는 별도 화이트리스트로 한 번 더 감싸면 안전하다.

  1. Starlette·FastAPI 최신 보안 권고 버전으로 업그레이드 (공식 changelog 확인)
  2. TrustedHostMiddleware allowed_hosts 화이트리스트 강제 적용
  3. Nginx·CloudFront 등 리버스 프록시 단에서 Host 검증 이중화
  4. 액세스 로그에서 비정상 Host 값 감시 (BadHost PoC 패턴 차단)

 

⚠️ 단점과 주의할 점

  • TrustedHostMiddleware만으로는 한계가 있다 — 프록시 뒤에서 X-Forwarded-Host를 신뢰하는 설정이라면 헤더 정규화가 함께 필요하다.
  • 패치 버전·CVSS 점수 등 일부 수치는 공식 권고 페이지가 갱신되는 중이므로 벤더 공지를 직접 확인해야 한다.
  • 상위 프레임워크가 Starlette 핀 버전을 고정하는 경우가 있어 단순 pip install -U로 해결되지 않을 수 있다.

 

🚀 지금 바로 할 일

  1. Starlette·FastAPI 의존성 버전을 확인하고 공식 보안 권고에 맞춰 업그레이드한다.
  2. TrustedHostMiddleware를 코드 또는 게이트웨이 레벨에 적용해 Host 화이트리스트를 강제한다.
  3. 액세스 로그에서 의심스러운 Host 헤더 패턴을 24~48시간 모니터링한다.

 

💬 의견

사내 AI 에이전트 서버를 어떻게 대응 중인지 댓글로 공유 부탁드립니다. 

🔗 참고 자료

반응형