피드로 돌아가기
Cloudflare BlogSecurity
원문 읽기
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)을 패치해 인그레스 프록시 배포 환경의 요청/응답 역직렬화 공격으로부터 보호
AI 요약
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 표준을 명시적으로 따르고, 각 단계마다 요청/응답 헤더 불일치를 감지하는 검증 로직을 추가하면 요청 스머글링 공격을 차단할 수 있다.