VU#885548: HTTP/2 서버의 서비스 거부 취약점 (정체된 흐름 제어 조건으로 인한)
서비스 거부 취약점이 정체된 흐름 제어 중 리소스 소모를 잘못 처리하는 HTTP/2 서버에 영향을 미칩니다. 원격의 인증되지 않은 공격자는 흐름 제어 매개변수를 사용하여 데이터 전송을 방해함으로써 이를 악용할 수 있습니다. 이로 인해 서버가 응답 데이터를 과도하게 버퍼링하게 되어 메모리 고갈을 초래합니다. HTTP/2는 송신자가 수신자를 창 크기를 통해 압도하는 것을 방지하기 위해 흐름 제어를 사용합니다. 클라이언트는 WINDOW_UPDATE 프레임을 보내지 않거나 초기 창 크기를 0으로 설정하여 이 흐름을 정체시킬 수 있습니다. 일부 서버 구현은 데이터를 보낼 수 없는 상태에서도 계속해서 응답 본문을 생성합니다. 이 버퍼링된 데이터는 서버 메모리를 차지하며, 각 정체된 스트림은 연결이 종료될 때까지 리소스를 소모합니다. 공격자는 많은 스트림을 열고 대규모 리소스를 요청하여 상당한 메모리 축적을 유발할 수 있습니다. 이는 시스템 불안정, 충돌 또는 서비스 가용성 저하로 이어질 수 있습니다. 공급업체는 이 취약점을 해결하기 위한 업데이트를 출시했으며, 리소스 제한 및 연결 종료 구현은 위험을 완화하는 데 도움이 됩니다.