피드로 돌아가기
HTTP desync: el bug que permitió espiar Discord en tiempo real
Dev.toDev.to
Security

URL 디코딩 허점을 이용한 HTTP Desync 기반 실시간 데이터 탈취

HTTP desync: el bug que permitió espiar Discord en tiempo real

lu1tr0n2026년 4월 17일11advanced

Context

Discord 미디어 프록시와 Google Cloud Storage 간의 연결 최적화를 위해 TCP Connection Pool을 사용하는 아키텍처 구조. 프록시 서버가 URL 내 특수 문자를 적절히 Sanitization 하지 않고 Upstream 서버로 전달하며 요청 경계의 모호성 발생.

Technical Solution

  • URL 내 %20(공백) 및 %0A(Line Feed) 문자를 디코딩 후 재인코딩 없이 전달하는 프록시의 취약점 식별
  • HTTP/1.1의 요청 구분자인 공백과 개행 문자를 주입하여 Front-end와 Back-end 간의 Request Boundary 인식 차이 유도
  • Connection Pool 내 공유 소켓에 '미완성된 요청'을 남겨두는 Request Smuggling 기법 적용
  • 후속 사용자의 요청이 공격자가 심어둔 요청의 Body로 흡수되게 설계하여 실시간 트래픽 가로채기 구현
  • RFC 7230 표준의 엄격한 준수를 통한 요청 구분자 처리 및 입력값 검증 로직 강화로 해결

1. Proxy와 Upstream 서버 간의 HTTP 해석 방식 일치 여부 검토

2. URL 및 Header에 포함된 제어 문자(%0A, %0D 등)의 재인코딩 처리 확인

3. Burp Suite의 HTTP Request Smuggler 등을 활용한 CL.TE/TE.CL 변이 테스트 수행

4. 공유 커넥션 풀 사용 시 요청 간 상태 오염 가능성 차단 설계

원문 읽기