HTTP/2는 헤더 필드를 헤더 섹션과 트레일러 섹션 모두에 전송할 수 있으며, 헤더 블록으로 분할하여 여러 조각으로 전송할 수 있습니다. 여러 HTTP/2 구현에서 단일 스트림 내에서 전송되는 CONTINUATION 프레임 수를 제한하지 않아 메모리 부족(OOM) 오류가 발생하는 취약점이 발견되었습니다. 공격자는 END_HEADERS 플래그를 설정하지 않고 CONTINUATION 프레임 스트림을 보내 이 취약점을 악용하여 서버가 프레임을 처리하고 디코딩하도록 하여 OOM 오류를 발생시킬 수 있습니다. 이 취약점은 Node.js, Envoy, Tempesta FW, amphp/http, Go net/http 및 net/http2 패키지, Apache Httpd, Apache Traffic Server, Envoy의 HTTP/2 코덱 등 다양한 구현에 영향을 미칩니다. 이 취약점을 악용하면 취약한 구현을 사용하는 서버에 대한 서비스 거부(DoS) 공격을 유발할 수 있습니다. HTTP 요청이 제대로 완료되지 않아 원시 HTTP 트래픽 분석을 통해 공격을 식별해야 하므로 이 취약점을 악용하는 악성 트래픽을 분석하는 것은 어려울 수 있다는 점에 유의해야 합니다.
kb.cert.org
VU#421644: HTTP/2 CONTINUATION frames can be utilized for DoS attacks
