피드로 돌아가기
Fixing request smuggling vulnerabilities in Pingora OSS deployments
Cloudflare BlogCloudflare Blog
Security

Fixing request smuggling vulnerabilities in Pingora OSS deployments

Cloudflare가 Pingora 0.8.0에서 HTTP/1.x 요청 스머글링 3개 취약점(CVE-2026-2833, CVE-2026-2835, CVE-2026-2836)을 패치해 인그레스 프록시 배포 환경의 요청/응답 역직렬화 공격으로부터 보호

Andrew Hauck2026년 3월 9일8intermediate

Context

Pingora 오픈소스 프레임워크가 인그레스 프록시로 배포될 때 HTTP/1.x 요청 스머글링 공격에 취약했다. 공격자가 RFC 미준수 HTTP 페이로드를 전송하면 프록시와 백엔드 서버가 요청 본문 경계를 다르게 해석해 두 번째 요청이 보안 검사를 우회하고 다른 사용자의 응답을 가로챌 수 있었다. Cloudflare 자체 CDN은 아키텍처상 영향을 받지 않았지만 독립적으로 배포된 Pingora 사용자들은 세션 탈취, 자격증명 도용, 캐시 포이즈닝 위험에 노출되었다.

Technical Solution

  • Upgrade 헤더 처리 변경: RFC 9110을 준수하도록 수정해 업스트림이 101 Switching Protocols 응답을 반환한 후에만 후속 바이트를 업그레이드 스트림으로 해석하고, 200 OK 응답 수신 시에는 계속 HTTP로 해석
  • Transfer-Encoding 및 HTTP/1.0 파싱 규칙 강화: 요청 본문 길이 계산 로직을 RFC 표준에 더 엄격하게 맞춰 요청/응답 역직렬화 공격 경로 차단
  • 기본 캐시 키 구성 제거: URI 또는 메서드를 조건부로 조정하는 프록시 로직 변경 시 캐시 키도 함께 변경하도록 강제해 캐시 포이즈닝 방지
  • RFC 준수 기본값 강화: 향후 Pingora의 기본 동작을 RFC 표준에 더 엄격하게 정렬해 비표준 트래픽 처리의 보안 여지를 줄임

Key Takeaway

인그레스 프록시 설계 시 기존 HTTP 스택 호환성을 위한 비표준 요청 허용과 보안 사이의 경계를 명확히 정의해야 하며, RFC 표준 준수를 기본값으로 설정하되 레거시 지원이 필요한 경우만 명시적으로 활성화하는 방식으로 보안 기본값을 강화해야 한다.


HTTP/1 역프록시나 로드밸런서를 구축하는 엔지니어는 요청 본문 경계 해석(Content-Length vs Transfer-Encoding), Upgrade 헤더 처리, 캐시 키 구성 로직에서 RFC 9110 표준을 명시적으로 따르고, 각 단계마다 요청/응답 헤더 불일치를 감지하는 검증 로직을 추가하면 요청 스머글링 공격을 차단할 수 있다.

원문 읽기
Fixing request smuggling vulnerabilities in Pingora OSS deployments | Devpick